GCC3 GCC attribute GCC __attribute__(())gcc 컴파일러가 제공하는 확장 기능으로 속성을 지정하는 키워드해당 키워드를 통해서 변수 혹은 함수에 대한 속성을 지정할 수 있음. 종류__attribute__((__used__)): 컴파일 시 최적화를 통해 사용하지 않는 변수들을 제외하는데 해당 속성을 지정하게 되면 사용하지 않는 변수에 대해서 제외시키지 않음__attribute__((__aligned__(x))): 선언한 변수의 메모리 주소를 x 크기로 align__attribute__((__packed__)): 구조체 변수에 대해서 padding을 하지 않고 실제 data의 size만큼 할당. (4byte align)ex) 1번 case의 경우 padding에 의해 8byte 메모리를 할당. / 2번 case.. 2024. 8. 9. CMake CMake개요기존 Makefile를 조금 더 쉽고 편리하게 작성할 수 있는 툴로써, 프로젝트의 규모가 커짐에 따라 관리해야하는 소스 파일의 양이 많아지고, 의존성이 많이 생겨 소스 관리가 어려워지는 Makefile의 한계를 해결하기 위해 탄생하였습니다. 소스 코드와 결과물 사이의 추상화를 통해 프로젝트 관리가 쉬워지는 장점이 있음 "CMake는 프로젝트를 빌드하는 것이 아닌 빌드 스크립트 파일(Makefile)을 생성해주는 프로그램" How to useCMake를 사용하기 위해서는 가장 먼저 CMakeLists.txt를 작성해주어야 함 1.기본 CMakeLists.txtCMakeLists.txt에는 반드시 CMake 최소 버전과 프로젝트 버전을 반드시 기재해 주어야 함# 요구 CMake 최소 버전cmak.. 2024. 8. 9. GCC attribute gcc컴파일러가 제공하는 확장 기능으로 속성을 지정하는 키워드 해당 키워드를 통해서 변수 혹은 함수에 대한 속성을 지정할 수 있음. 종류 __attribute__((__used__)): 컴파일 시 최적화를 통해 사용하지 않는 변수들을 제외하는데 해당 속성을 지정하게 되면 사용하지 않는 변수에 대해서 제외시키지 않음 __attribute__((__aligned__(x))): 선언한 변수의 메모리 주소를 x 크기로 align __attribute__((__packed__)): 구조체 변수에 대해서 padding을 하지 않고 실제 data의 size만큼 할당. (4byte align) ex) 1번 case의 경우 padding에 의해 8byte 메모리를 할당. / 2번 case의 경우 해당 키워드를 통해 5b.. 2024. 2. 2. 이전 1 다음 728x90