#pragma comment
다음은 무엇을 의미합니까?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
#pragma comment
다음은 무엇을 의미합니까?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
답변:
#pragma comment
생성 된 개체 파일에 주석을 남기도록 Visual C ++를 나타내는 컴파일러 지시문입니다. 그러면 링커가 오브젝트 파일을 처리 할 때 주석을 읽을 수 있습니다.
#pragma comment(lib, libname)
링커가 프로젝트 속성에서 라이브러리 속성을 추가 한 것처럼 라이브러리 종속성 목록에 'libname'라이브러리를 추가하도록 지시합니다. Linker->Input->Additional dependencies
MSDN에 대한 #pragma 의견 참조
나는 항상 "컴파일러 지시문"이라고 불렀습니다. 컴파일 단계에서 컴파일러가 위에 표시된 것과 같은 라이브러리를 포함하여 분기, 특정 오류 비활성화 등을 수행하도록 지시합니다.
컴파일러 회사는 일반적으로 기능을 용이하게하기 위해 자체 확장을 만듭니다. 예를 들어, Microsoft는 "#pragma once"거래를 시작했으며 MS 제품에만 적용되었으므로 확실하지 않습니다.
Pragma 지시문 표에 "#pragma comment"가 포함되어 있습니다.
HTH
예를 들어 GCC에 자체 #pragma 세트가 있다고 생각합니다.
#pragma comment
의미 하는지 구체적으로 묻고 있습니다.
Pragma 지시문은 운영 체제 또는 시스템 별 (x86 또는 x64 등) 컴파일러 옵션을 지정합니다. 사용 가능한 몇 가지 옵션이 있습니다. 자세한 내용은 https://msdn.microsoft.com/en-us/library/d9x1s805.aspx를 참조하십시오.
#pragma comment( comment-type [,"commentstring"] )
이 형식이 있습니다.
다른 주석 유형에 대한 자세한 내용은 https://msdn.microsoft.com/en-us/library/7f0aews7.aspx 를 참조하십시오 .
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
위의 코드 줄에는 링커에서 검색해야하는 라이브러리 이름 (또는 경로)이 포함되어 있습니다. 이러한 세부 사항은 오브젝트 파일에서 라이브러리 검색 레코드의 일부로 포함됩니다.
그래서,이 경우 kernel.lib
와 user32.lib
링커에 의해 검색되고 최종 실행 파일에 포함되어 있습니다.
Linker -> General -> Additional Library Directories
있습니까?