![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VS的那点事
实际工作中VS的一些工程配置和常见错误记录。
留点头发。
模仿即学习,创造即艺术
展开
-
05 C++动态库的制作和调用
1、dll的有点代码复用是提高软件开发效率的重要途径。一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用。比较常见的例子是各种应用程序框架,ATL、MFC等,它们都以源代码的形式发布。由于这种复用是“源码级别”的,源代码完全暴露给了程序员,因而称之为“白盒复用”。“白盒复用”的缺点比较多,总结起来有4点。暴露了源代码;多份拷贝,造成存储浪费;容易与程序员的“普通”代码发生命名冲突;更新功能模块比较困难,不利于问题的模块化实现;实际上,以上4点概括起...转载 2020-07-16 22:54:35 · 214 阅读 · 0 评论 -
04 vs2015打开vs2017工程
1. 修改平台:打开Project选择Properties选项,然后将Platform Toolset中的工具设定选择为VS2015(v140)。2.重定SDK版本目标:有时候会出现以下问题:Severity Code Description Project File Line Suppression StateError C2338 va_start argument must not have reference type...原创 2020-07-16 22:34:03 · 1417 阅读 · 0 评论 -
03 VS属性页中的预处理器定义是什么意思
如上图中,在这里,WIN32、_DEBUGE、_UNICODE等其实是一些宏定义,在这里写上这些,相当于在本工程所有的文件中都写上了:#define WIN32#define _DEBUG#define _UNICODE这样,就可以达到一个多一个同一个代码在不同的配置环境在编译的结果文件不一样,从而实现跨平台。比如,在VC中,因为要有的环境是UNICODE,有些则不是,同一份代码为了在两种环境下都可以用,那么就会有以下宏定义(其实这就是twhar.h中的代码):#ifdef _..转载 2020-07-16 22:17:02 · 729 阅读 · 0 评论 -
02 vs下release版本调试设置
设置在Release模式下调试的方法:1.工程项目上右键 -> 属性2.c++ -> 常规 -〉调试信息格式 选 程序数据库(/Zi)或(/ZI), 注意:如果是库的话,只能(Zi)3.c++ -> 优化 -〉优化 选 禁止(/Od)4.连接器 -〉调试 -〉生成调试信息 选 是 (/DEBUG)...转载 2020-07-16 22:13:31 · 271 阅读 · 0 评论 -
01 c++ 静态库和动态库的区别与使用
C++静态库与动态库这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动转载 2020-07-16 22:09:38 · 405 阅读 · 0 评论