동적 라이브러리실행 시간에 라이브러리 파일을 찾아 코드를 포함하기 때문에 동적라이브러리라고 부릅니다.즉, 정적 라이브러리는 컴파일 시간에 코드를 결정하기 때문에 소스가 변경되면 새로 컴파일 해야하지만, 동적 라이브러리의 경우 라이브리만 교체하는 것으로도 변경이 가능합니
라이브러리 파일을 크로스 컴파일해서 쓸 일이 있어서 스터디하다가 tool chain에 대해서 좀 적어보고자한다. cmake를 할 때 타겟보드 환경?을 설정 해준다고 생각하면 될 것 같다.일단 main.c에 Test123를 출력하는 코드를 작성한다.CMake 를 사용하는
mqtt 라이브러리는 mosquitto, paho가 대표적인 것 같다. 본 포스팅은 paho c언어 기반의 라이브러리를 사용해서 client publish, subscribe를 구현할 것이다.library 설치 : https://github.com/eclips
MQTT는 머신 대 머신 통신에 사용되는 표준 기반 메시징 프로토콜 또는 규칙 세트입니다. 스마트 센서, 웨어러블 및 기타 사물 인터넷(IoT) 디바이스는 일반적으로 리소스 제약이 있는 네트워크를 통해 제한된 대역폭으로 데이터를 전송하고 수신해야 합니다. 이러한 IoT
MQTT란 ? MQTT 개념 및 작동 방식리눅스에서 client pub, sub 구현해서 테스트target 보드에서 client pub, sub 테스트
가끔 생성자에 초기화가 같이 있으면 헷갈릴 때가 있는데 직관적으로 구별하기 좋은 예제인것 같다. 일단 아래 예제를 보자. 일단 A() 생성자가 실행되기 전에 : 뒤에 초기화 부분이 먼저 실행된다.
라즈베리파이, Imx7Dual로 yocto 환경 구성라즈베리파이, Imx7Dual 통신 개발(SPI, I2C)라즈베리파이, Imx7Dual 센서 구동 (IMX는 내장 센서, 라즈베리파이는 내장 및 외장 센서)영어 공부(토익 점수 내기)!!디바이스 드라이버 및 임베디드
컨테이너의 rbegin() 멤버 함수는 컨테이너 순차열의 끝 표시 반복자이다. rend() 멤버 함수는 순차열의 첫 원소를 가리키는 반복자를 반환한다. 아래는 vector 컨테이너의 정방향 반복자와 역방향 반복자를 비교한 예제이다.iter는 ++하면 반복자가 순차열의
STL의 모든 컨테이너는 정방향 반복자 X::iterator와 X::constiterator를 정의한다. 또한, 역방향 반복자 형식 X::reverseiterator와 X::constreverseiterator를 정의한다. 아래 예제는 iterator와 const_i
find()는 특정 원소를 찾는 알고리즘이며, find_if()는 조건에 따라 원소를 찾는 알고리즘이다. 아래는 find()와 find_if()의 예제이다.find(begIter, endIter, 20)는 iter 구간에서 20값을 찾는 첫 원소의 반복자이다.find_
원소를 수정하지 않는 알고리즘은 원소의 순서나 원소의 값을 변경하지 않고 원소를 읽기만 하는 알고리즘이다. adjacent_find() adjacent_find() 알고리즘의 예제로 vector의 순차열에서 현재 원소와 다음 원소가 같아지는 첫 원소의 반복자를 반환한
multimap은 중복 key를 허용하며 \[] 연산자를 제공하지 않는다. 아래는 multimap에서 count와 find 멤버 함수를 사용한 예제이다.iter = mm.find(3)에서 iter는 key 3의 첫 번째 반복자이다. key 3이 없다면 mm.end()이
map 컨테이너는 연관 컨테이너중 자주 사용하는 컨테이너로 원소를 key와 value의 쌍으로 저장한다. set은 원소로 key 하나만을 저장하지만, map은 원소로 key와 value의 쌍(pair 객체)을 저장한다. key는 중복 저장될 수 없으며 중복 key를 저
multiset은 템플릿 형식, 주요 인터페이스, 멤버의 형식이 모두 set과 같지만 key가 중복으로 저장된다는 점이 다르다. 아래는 multiset의 count(), find(), lowerbound(), upperbound()
연관 컨테이너는 특정 정렬 규칙에 따라 저장 원소가 컨테이너에 정렬된다. set, map, multiset, multimap 네 가지 컨터이너가 있고 균형 이진 트리로 구현되어있다. 시퀀스 컨테이너와 달리 모든 연관 컨테이너는 같은 인터페이스(생성자, 멤버 함수, 연산
list는 노드 기반 컨테이너이므로 원소가 각각의 노드에 저장된다. 각 노드는 앞쪽, 뒤쪽 노드와 연결된 형태로 이중 연결 리스트이다. list는 push_back, push_front, pop_back, pop_front, insert, erase 등의 멤버 함수를
deque는 vector와 기능의 가장 비슷한 컨테이너이다. 둘의 차이는 vector의 하나의 메모리 블록 할당 정책은 배열처럼 정수 연산만으로 원소에 접근하고 빠르게 값을 읽고 쓸 수 있다. 하지만 새로운 원소가 추가될 때 메모리 재할당과 이전 원소 복사 문제가 발생
vector는 제일 널리 알려진 기능이라 기본적인 pushback, popback과 같은 기능은 생략하고 내가 잘 몰랐던 기능이나 개념에 대해 포스팅 하고자 한다. 먼저 capacity()는 할당된 메모리의 크기를 반환한다. vector는 push_back을 할때마다