编译器的那些事儿
来源:互联网 发布:php 过滤空格 编辑:程序博客网 时间:2024/04/29 05:25
1,/MD和/MDd将是潮流所趋,/ML和/MLd方式请及时放弃,/MT和/MTd在非必要时最好也不要采用了。
2,静态链接 & 动态链接:
静态库是把程序运行时需要使用的函数编译在一个二进制文件中,扩展名为.lib。当程序link时把静态库中的二进制数据和程序其它数据放到一起。程序运行时不在需要lib和dll文件的支持。这样做的坏处是开发出来的程序占用磁盘空间较大。特别是windows系统中本来就有或很多程序运行都需要的函数完全没有必要每次开发程序时都要使用各自的静态库。
动态库在开发时仅是把dll中的函数名和参数放到应用程序中,应用程序运行时根据函数名和参数调用dll中的函数来运行,这样操作系统中的应用程序可以同时使用同一个dll。可以有效地节省硬盘空间,当然这样做使得程序设计更有层次。也有利于软件工程师的分工和信息安全。
动态库中也会产生一个后缀名为.lib的引入库文件。
3,自己配置debug环境:
- C/C++ :/ 常规 :/ 附加包含目录:添加依赖库包含路径
- C/C++ :/ 常规 :/ 调试信息格式:程序数据库(/Zi)
- C/C++ :/ 优化 :/ 优化:禁用(/Od)
- C/C++ :/ 代码生成 :/ 运行时库:多线程调试DLL(/MDd)
- 链接器 :/ 常规 :/ 输出文件:设置输出目录
- 链接器 :/ 输入 :/ 附加依赖项:添加项目依赖的库名。
- 链接器 :/ 调试 :/ 生成调试信息:是(/DEBUG)
4,配置Release环境,只说明一下与debug不同之处:
- C/C++ :/ 常规 :/ 调试信息格式:禁用
- C/C++ :/ 代码生成 :/ 运行时库:多线程DLL(/MD)
- 链接器 :/ 调试 :/ 生成调试信息:否
- 编译器的那些事儿
- 编译器做的那些事儿
- 读书笔记JVM探秘之六:编译器的那些事儿
- 明朝的那些事儿
- Oracle 的那些事儿
- VC++的那些事儿
- 游戏的那些事儿
- 找工作的那些事儿
- 北爱尔兰的那些事儿
- 数组的那些事儿~
- 密码的那些事儿
- poi的那些事儿
- Format的那些事儿
- 线程的那些事儿
- platform的那些事儿
- JDBC的那些事儿~~~
- SEO的那些事儿
- OpenCV的那些事儿
- rpcss.dll 病毒解决方法 (windows7)
- 中国软件外包 IT公司最新排名
- IT行业工作了几年还是原地踏步甚至很迷茫怎么办?
- servlet相关
- IT 职业规划-停止空谈,开始执行!
- 编译器的那些事儿
- Microsoft SQL Server 2000宝典
- Symbian 自定义控件
- 使用XAML创建按钮
- IDA 分析BIOS
- 一种在编译期保证模板类参数T必须实现某函数的方法
- u-boot的Makefile分析(转)
- s3c2410 board.c分析
- s3c lowleve_init.S分析