c++外部依赖项的.h库文件哪里来的

直接拿到的c++项目代码来看,看到引用了一个 api.h的文件,不知道从哪来的

直到看了一篇文章:https://blog.csdn.net/lanchunhui/article/details/52550189

知道是因为在cpp源源代码文件中#include了。

我们在 VS 中创建 Win32 控制台应用程序,vs 会为解决方案创建默认地创建 4 个 filters(资源管理器中没有对应的目录和文件夹):

    头文件:一般为 .h 文件
    外部依赖项
    源文件:一般为 .cpp文件
    资源文件

1. 外部依赖项 & 资源文件

    外部依赖项:C++ 外部依赖项有很多,大部分都是静态库文件,编译的时候会递归关联起来生成可执行文件,所以可执行文件才会大很多。

    编译的时候: 外部依赖项都是一个填充地址 , 比如 你的代码里调用 外部依赖函数地址 Extern_funA 。
        预编译的时候展开头文件,
        编译生成obj文件的时候,Extern_funA 就是一个填充地址 比如 0x00 00 00 00
        链接的时候基地址重定位生成对应的 Extern_funA 地址。
        链接的时候会根据你的工程配置想一个去查找 DLL 导出符号表,发现没有找到 Extern_funA 。那么就会出错,说无法定位外部符号。

    右键【源文件】,选择【添加 ⇒ 新建项】,比如此时我们创建,test.cpp 文件,只需 include 一个文件:


    #include <iostream>
        1
        2
        3

    此时重新点开 【外部依赖项】filter,便会看到引入了相当多的库文件。

    资源文件:主要是你用到的一些程序代码以外的东西,比如图片之类,或者菜单、工具栏之类的。
---------------------
作者:Inside_Zhang
来源:CSDN
原文:https://blog.csdn.net/lanchunhui/article/details/52550189
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值