7월, 2017의 게시물 표시

CMAKE 문법

소스파일=재료 make파일=레시피 실행파일=요리 컴파일=재료를 레시피에 따라 요리까지 디버깅=똑같이 하는데 레시피에 사용할 수 있다 없다를 갈라준다. SET()-변수 정의 CMake 빌드 스크립트를 작성할 때도 Makefile을 비롯한 여타 스크립트와 마찬가지로 상단에는 설정 변수를 정의하는 명령들을 몰아놓고, 하단에서는 이 설정에 따라 빌드 절차를 결정하도록 구성한다. SET( <변수명> <값> ) <값>에 공백이 포함되어 있는 경우, 큰따옴표"ㅇㅇㅇ"로 묶어준다. 목록(List)변수 정의 SET(<목록_변수명><항목><항목><항목>...) <항목>들은 공백문자로 구분합니다. <항목>값에 공백이 포함되어 있는 경우, 역시 큰따옴표로 묶어준다. 목록 변수의 항목들은 기본적으로 세미콜론(;)으로 구분 된다. 변수 참조 변수를 참조하고자 할 때는 다음과 같이 변수명 앞에$를 붙이거나, ${....}로 묶어주면 된다. 많이 쓰이는  커맨드 들 add_definitions( -DFOO -DBAR): 이 디렉토리부터 모든 하위디렉토리에 컴파일러에 플래그를 꽂아준다. 전처리기 플래그 추가에 사용하길 권장함. include_directories():  컴파일러가 인클루드 파일  찾을 경로(들) 추가   link_directories(): 링커가 라이브러리 찾을 경로(들) 추가. 그러나 드물게 쓰인다(왜?). find_package(), find_library() 는 절대경로를 리턴해준다. 이 절대경로들을 target_link_libraries()에 직접 넘기면 된다. find_package(): 외부 프로젝트로부터 세팅을 찾아서 가져온다. 기본적 문법은 find_package(이름)이고 이러면 CMAKE_MODUL...

용어정리

아키텍처[Architecture] 컴퓨터 아키텍처라고도 한다. 처리단위인 어장, 기억방법인 어드레스방식, 데이터의 형식 등 기본적 요소의 조합으로 컴퓨터의 용도, 처리속도 등이 크게 달라진다.  바이너리[Binary] <- 2진수 본래는 2진수로 표시되는 데이터의 의미지만, 일반적으로 바이너리라고 한다. 텍스트 동의 문자로서의 의미를 가진 데이터에 대하여 프로그램의 동작을 결정하는것, 또는 일정한 포맷에 따라 기록되는 데이터를 말한다. 라이브러리[Library] 이용자가 필요에 따라서 사용하는 표준화된 프로그램 및 서브루틴의 모임을 만한다. 제공형태응 유저 프로그램의 속에서 서브루틴으로서 사용되는 서브모듈형과 일련의 처리가 라이브러리의 속에서 완결하는 패킷형으로 크게 나누어지는데 이것을 달리 프로그램 라이브러리라고도 한다. 패킷[Packet] <-데이터를나눠서 넘겨주는것 패키지(Package)와 버킷(Bucket)의 합성어. 우체국에서 화물을 적당한 덩어리로 나눠 행선지를 표시하는 꼬리표를 붙이는것에 접목하여 표현. 즉, 데이터 전송에서 송신측과 수신측에 의하여 하나의 단위로 취급되어 전송되는 집합체를 의미한다.  전자우편이나 HTML, GIF 등 어떤 종류의 파일에도 적용할 수가 있다. 이때 분할된 각각의 패킷에는 별도의 번호가 붙여지고 목적지의 인터넷 주소가 기록되며, 에러 체크 데이터도 포함된다. 파일을 분할해서 전송하지만 수신하는 곳에서는 원래의 파일로 다시 재조립된다. 헤더와 데이터,테레일러로 이루어져 있는데, 헤더에는 데이터가 전달될 주소와 순서 등이 기록되고, 테레일러에는 에러 정보가 기록된다. 보통 2계층으로 내려가기 전까지 3~4계층의 데이터 단위는 패킷이라고 하고, 1~2계층의 데이터 단위는 프레임이라고 한다. 일반적으로 128바이트가 표준이지만 32,64,256바이트와 옥텟 등 편의에 따라 크기를 바꿀 수 있다. 내부에 상대방의 주소를 갖고 있기 때문에 신뢰도가 높으며, 에러를 체크하...