Visual studio 下C++工程相关经验
2024-10-14 17:21:01
1、链接其他库调试时产生告警: warning LNK4099: 未找到 PDB“vc100.pdb”
解决方案:属性 -> C/C++ -> 输出文件 -> 程序数据库文件名 -> $(OutDir)$(TargetName).pdb (生成的pdb文件将同库在同一目录)
2、文件编码问题: warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
解决方案:打开提示该Warning的文件,选择菜单中的:文件 -> 高级保存选项,将“编码”选择为“Unicode - 代码页 1200”,重新编译即可。(简体中文的可能也行)
3、编译静态库时Release版反而比Debug版大很多
解决方案:在VisualStudio中的Release工程中,C++ -> Optimization -> Whole Program Opeimization 默认是启用的,而Debug版的就没有这个标志,所以编译起来Release版反而大很多。具体原因是:LTCG(Link-time Code Generation),编译器需要启用/GL,连接器需要启用/LTCG,两者配合达到链接可执行程序时最终优化整合的效果,可以去除obj的重复,更好的优化代码。不过缺点就是链接速度慢。
4、Visual assist 助手
安装了番茄助手后,在菜单中选择 VAssistX -> Tools -> Edit VA Snippet 就会出现模板菜单,在里面可以定制快捷键插入模板代码。
最新文章
- RabbitMQ介绍4 - 编程(C#客户端示例)
- 让Fragment监听返回键
- Codevs 1222 信与信封问题 二分图匹配,匈牙利算法
- ICE学习第四步-----客户端请求服务器返回数据
- UML图总结
- python基础:测量python代码的运行时间
- DELPHI语法基础学习笔记-Windows 句柄、回调函数、函数重载等(Delphi中很少需要直接使用句柄,因为句柄藏在窗体、 位图及其他Delphi 对象的内部)
- hadoop namanodejava
- C语言缓冲区清空
- nuget 服务器崩溃
- 浅谈JavaWEB入门必备知识之Servlet入门案例详解
- 你有没有忽略TextField的leftView这个属性
- Mysql中的in和find_in_set的区别?
- ping、traceroute原理
- 练习html,css,js仿制百度首页
- [十一]基础数据类型之Character
- SpringMVC学习手册(一)------工作原理解析
- FileReader实现图片预览,并上传(js代码)
- 修改mongodb(带仲裁节点的副本集)各机器端口
- 巧用CurrentThread.Name来统一标识日志记录(续)