해당 포스팅은 전처리 구문 중 하나인 #Pragma를 사용하는 방식에 대한 정리 글입니다.
Prama??
#Prama는 define 이나 include와 같이 #으로 시작하는 전처리 구문(Precompipler)의 하나라고 합니다.
MSVC(컴파일러)에만 존재하는 종송적인 명령어이므로, 컴파일러에 직접 정보를 전하기 위해서 사용된다고 합니다. 그래서 컴파일러를 변경했을 경우 실행을 보장을 하지 못한다고 합니다.
1. #pragma once
#pragma once는 컴파일러에게 한번만 컴파일 하라고 알려주는 전처리 구문이다. #define으로 각 헤더에 최소 값을 정의 해서 한번만 컴파일 되도록 했다.
1 | // #pragma once 방법 |
2. #pragma comment()
#prgma comment(comment-type, comment string?) [] 안의 구문은 comment-type에 따라 필요한 경우에 사용한다고 합니다. comment-type에는 compiler, exestr, lib, linker, user 등이 올 수 있습니다.
- subsystem 설정
프로젝트 관리에서 직접 서브 시스템을 바꿀 수도 있지만 #prgma comment() 방식을 이용해서도 변경이 가능하다.
1 |
- section 설정
코드 섹션, 데이터 섹션, init 섹션 등 다양한 섹션을 설정할 수 있습니다.
1 |
|
- 명시적(explicit) 라이브러리 링크 설정
명시적으로 라이브러리 링크를 설정하고 싶을 때, 원래대로 라면 프로젝트 관리 들어가서 링크 탭에서 링크 하고 싶은 라이브러리를 적어야 하지만, #pragma를 통해서 편하게 처리할 수 있습니다.
1 |