C++ 库链接

本文详细介绍了C++中静态库和动态库的概念,并针对Windows Visual Studio,探讨了引用静态库的不同方法。同时,文章还深入讨论了动态链接库的核心代码、动态链接库的显式链接测试代码,以及C++动态链接库调用的两种常见方式,为C++开发者提供了实用的链接库知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++ 库链接

0. 动态库和静态库

静态库: 函数和数据被编译进一个二进制文件(扩展名为.lib),在使用静态库的情况下,在编译链接可执行文件时
,链接器从库中复制这些函数和数据并把它们和应用程序的其他模块组合起来创建最终的可执行文件(.exe)
动态库: 有两个文件,一个是引入库.lib和一个dll,引入库包含被dll导出的函数的变量的符号名,dll包含实际的函数和数据,
在编译链接器可执行文件时,只需要链接引入库,dll中函数代码和数据并不复制到可执行文件中,在运行时,再去加载dll,访问dll中导出的函数。

1. Windows Virual Studio 引用静态链接库的若干种方式?

第一种:
    点击右键打开项目属性,VC++项目中找到库目录,把.lib的路径添加进去
    然后在链接器-->输入-->附加依赖项 加入static.lib
第二种:
    #pragma comment (lib,"path/to/lib/static.lib")

2. 动态链接库的核心代码

#ifdef CREATEOPENCLDLL_EXPORTS
#define CREATEOPENCLDLL_API __declspec(dllexport) 
#else
#define CREATEOPENCLDLL_API __declspec(dllimport) 
#endif

extern "C"
{
	CREATEOPENCLDLL_API CreateOpenCLDLL* GetCreateOpenCLDLL(void);
	typedef CreateOpenCLDLL* (*PFNGetCreateOpenCLDLL)(void);
}

</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值