본문 바로가기
WORK/Sotfware

#pragma comment ..........?

by KANG Stroy 2008. 6. 8.
728x90
728x90

pragma..
greathjm (2003-01-17 23:29 작성) 이의제기 | 신고하기
pragma 앞에 #이 있는 걸 보면 아시겠지만 pragma는 precompiler입니다.

compile할 때 platform이 틀려지거나 cpu가 틀려지거나 할 때 compile option을 주게 됩니다.

vc++을 써보셨으면 아실텐데, project settings( ALT+F7 )에서 c/c++ tab에 보면 project options이 있습니다. link tab에도 project options가 있죠.

pragma가 바로 그런 역할을 하는 precompiler입니다.

vc++이야 ide니까 project settings라는 편한 환경을 지원하지만 만약 code호환성을 생각한다면 pragma를 쓰는 게 좋죠.

( 전 개인적으로 pramga message를 많이 씁니다. --; compile하는 과정에서 macro들 확인도 쉽고... )



질문으로 돌아가서...

일단 형식은 다음과 같습니다.

#pragma comment( "comment-type" [, commentstring] )

comment type에는 compiler, exestr, lib, linker, user 등이 올 수 있습니다.

그 중 질문에서의 lib는 library file을 지정하는 것이라고 생각하시면 됩니다. comment string이라는 부분에는 file의 이름이나 path를 넣으시면 됩니다. ".lib" file 아시죠?

그러니까 굳이 project settings에서 link tab에 있는 input에 .lib file을 쓰지 않고 #pragma comment ( lib, "xxx.lib" ) 라고 써도 된다는 거죠..



생각같아선 pragma comment에서부터 다른 pragma까지 모두 설명해드리고 싶지만..

시간도 낭비고 의미도 잘 전달될지가 의문이라 그냥 reference page를 알려드립니다.

http://search.microsoft.com/gomsuri.asp?n=6&c=rp_Results&siteid=us/dev&target=http://msdn.microsoft.com/library/en-us/vclang/html/_PREDIR_Pragma_Directives.asp

msdn library를 local에 설치하셨다면 거기서 pragma에 관한 걸 찾아보셔도 금방 나옵니다.



도움이 되셨길..




요즘따라 긴 답변을 요하는 질문이 너무 많은 것 같습니다..

제가 답하는 것만 그런건지는 몰라도.. --;

잠깐 넋두리를 했습니다.

이번엔 짧게 끝내려고 많이 노력했답니다...
728x90

'WORK > Sotfware' 카테고리의 다른 글

implib / VC lib를 BCB lib로 변경  (0) 2008.06.09
입력된 2진수를 10진수로 계산하여 출력  (0) 2008.06.08
[통신]시리얼 통신 프로그램 관련..  (0) 2008.06.08
클래스/Class  (0) 2008.06.03
다중 쓰레드와 C++  (0) 2008.06.02

댓글