外部依赖项总结

一、什么是外部依赖项?

所谓外部依赖项就是工程中显式包含的那些头文件本身所包含的头文件(非自己定义),主要包含一些外部库。例如虽然在main里包含了一个windows.h,但是windows.h本身就包含相当多的头文件。而这些头文件又包含更多的头文件。于是你的外部依赖项就变得很庞大。若想减少外部依赖项,那就尽量避免包含不必要的头文件。不过根据编译器的行为,可能编译时应该会过滤掉那些虽然包含进来,但完全没有用到的头文件,可以不必理会外部依赖项。

二、外部依赖项的关联

外部依赖项在编译时会递归关联起来生成可执行文件,所以可执行文件才会大很多;编译的时候,外部依赖项都是一个填充地址,比如代码里调用外部依赖函数地址Extern_funA。不编译的时候展开头文件,编译生成obj文件的时候,Extern_funA就是一个填充地址,比如0x00 00 00 00。链接的时候基地址重定位生成对应的Extern_funA地址,跟根据你的工程配置相应去查找DLL导出符号表,发现没有找到Extern_funA,那么就会出错,说无法定位外部符号。

【另】资源文件:主要是你用到的一些程序代码以外的东西,比如图片、菜单、工具栏之类的。

三、如何添加外部依赖项目?

http://blog.csdn.net/kingepoch/article/details/24289627

  • 1、新建解决方案,项目A
  • 2、为项目A添加一个依赖项目B,项目B做为静态lib被项目A引用,

项目B创建步骤如下:

1>选择菜单”文件”->新建->项目,弹出“新建项目”对话框;

2>左侧列表选择Visual C++,右侧列表选择win32控制台应用程序,对话框下面输入名称,选择位置,解决方案选择添加到解决方案,确定。

3>Win32应用程序向导,下一步,选择应用程序类型为静态库,添加公共头文件以用于选择MFC(根据实际情况选择,因为项目需求<nb30.h>编译需要选择MFC),完成。

  • 3、项目配置,项目A右键选择属性,选择通用属性,引用->添加新引用->选择项目B;

引用项目B的头文件目录,步骤如下:配置属性->VC++目录->包含目录:添加项目B头文件路径..\B\Header。

其中编译的时候会出项目A引用项目B的接口无法解析,可能是3步骤没有做。
 

 

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值