C++知识点总结

  1. < include <> 一般用于包含系统文件,诸如 stalib.h, stdio.h, iosream 等

  2. <inlcude “” 一般用于包含自定义头文件,比如我们自定义的test.h , declare.h等

a. ” “ 默认从项目当前目录查找文件,项目工程文件所在目录 include .vcxproj
b. 再从项目配置的头文件引用目录去找 C/C++ -->Additional Include Directories
c. 再从系统类库目录中去找 VC++ Directories --> Include Directories

  1. 实际项目开发中Solution Explorer 视图里面可以有文件夹组织,但是实际文件系统中最好不用即cpp和h文件和vcxproj在同一个目录下,如果cpp和h文件在vcxproj在同一个目录下的文件夹里面,那么project的 Additional Include Directories 第一行必须写.\ ,表示从当前目录搜索,否则Resource.h 和stdafx.h 会打开在别的工程里面。PS: 不在文件夹的文件不会有这个问题

  2. 实际项目开发中给用户的 Library 包含三部分

a. Debug_64_VS2015 .dll .pdb .lib(可以不给)
b. Release_64_VS2015 .dll .pdb .lib(可以不给)
c. Include .h
d. Pre-Build Event copy .h 文件 to Include
e. Post-Build Event copy dll lib pdb to Debug_64_VS2015
5. ### Linker --> Input 里, ArpyCg.lib; 后面没有写分号可以看到,但是Edit以后就会消失不见,加入任意一个lib文件以后会覆盖到它。
6. ### A. exe 引用B.dll, B.dll 引用 c.dll
a. B.dll 里的头文件包含了从c.dll 的头文件,那么A.exe的 Additional Include Directories需要包含 c.dll的头文件
b. B.dll 的 Additional Library Directories 配置了c.dll, A.exe不需要配置,它通过B.dll 配置好的路径 c.lib就可以寻找到c.dll
c. 编译需要配置lib库路径,不需要dll路径(编译是为了生成dll),Link2019就和找不到lib库相关。
d. 一般工程不需要Rebuild Solution, 只改cpp文件 lib库不用更新,拷贝生成的dll到exe的路径下就可以。如果修改了某个dll的头文件,那么就需要把包含这个dll头文件的所有dll和这个dll更新到exe的路径下(一般直接bat文件拷贝所有)XXX有可能网上说的 调用该动态库的exe文件需要重新重新生成 这个是对的
f. exe 编译成功以后时所有的dll均放到exe的平级路径下,lib函数地址已经被编译到exe文件里,所以不需要发布lib库,发布dll就可以,通过dll 搜索顺序找到dll。通过发布PDB文件和dll文件 结合source code就可以调试机器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值