只被编译一次
#pragma once
#pragma pack(1)
(结构体中数据成员按1字节对齐)
加载静态链接库
#pragma comment(lib, "gdiplus")
(使用gdi+,调用gdiplus.lib)
忽略静态链接库(用于消除静态库冲突)
#pragma comment(linker, "/NODEFAULTLIB:libcd.lib")
(vs2005以上项目中调用vc6编译的静态库需要忽略libcd.lib)
#pragma comment(linker, "/NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmt.lib")
(忽略多个静态链接库)
忽略警告
#pragma warning(disable:4996)
(C4996: 编译器遇到了标记有 deprecated 的函数。在未来版本中可能不再支持此函数。可以用 warning 杂注关闭此警告)
扫描二维码关注公众号,回复:
2517352 查看本文章
仅报告一次警告
#pragma warning(once:4267 4244)
(C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据)
(C4244: “参数”: 从“int”转换到“Gdiplus::REAL”,可能丢失数据)
组合处理警告
#pragma warning(once:4267; disable:4244)
条件编译指令
#if defined(_WIN64) && defined(_DEBUG)
#pragma comment( lib, "json_vc71_libmtd64.lib" )
#elif defined(_WIN64)
#pragma comment( lib, "json_vc71_libmt64.lib" )
#elif defined(_DEBUG)
#pragma comment( lib, "json_vc71_libmtd32.lib" )
#else
#pragma comment( lib, "json_vc71_libmt32.lib" )
#endif