C++编译相关

__declspec(dllexport)与__declspec(dllimport)


#if  defined(_WINDLL)
#ifdef DLL_EXPORTSTEST
#define TEST_DLL __declspec(dllexport)
#else
#define TEST_DLL __declspec(dllimport)
#endif
#elif   defined(__linux)
#define TEST_DLL  __attribute__ ((visibility("default")))   ///动态库导出符
#endif

动态编译
可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库,对应dll和.so,缩小执行文件本身的体积,加快了编译速度,节省了系统资源。
静态编译
编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库

nmake(windows下的makefile)

nmake -f nMakeTest.mak CFG="nMakeTest - Win32 Debug"
rc.exe 【将.rc资源文本转变成.res二进制文件】  
cl.exe   将.c,.cpp,.cxx编译成obj文件

windows 命令行

windows上整个命令行的长度不能超过260个字符,然而编译命令行往往会超过这个限制,微软提供的解决方案是:将命令行参数写入一个response文件,然后将其传入编译器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值