C++中动态链接库、静态链接库的创建与调用


链接库的创建:

1.创建动态链接库

在头文件中添加以下代码

#pragma once
 
#ifdef __DLLEXPORT
#define __DLL_EXP _declspec(dllexport)    // 导出函数 - 生成dll文件时使用
#else
#define __DLL_EXP _declspec(dllimport)    // 导入函数 -使用dll是使用
#endif // __DLLEXPORT

// 判断是否是c++
#if defined(__cplusplus)||defined(c_plusplus)
extern "C"
{
#endif
    __DLL_EXP int add(int a, int b);
     
    __DLL_EXP int sub(int a, int b);

#if defined(__cplusplus)||defined(c_plusplus)
}
#endif

 

2.创建静态链接库

 

链接库的调用:

方法1:

直接将文件拷贝到目录下

直接把Dll1.h,Dll1.lib和Dll1.dll文件,复制到工程目录下面,

在上述代码的using namespace std;下面添加一句

 

 

方法2:

在VC目录中设置
2.1 如果整个工程只有C++文件。可以直接在VC目录里设置。
在VC++目录下的包含目录里添加Dll1.h所在的路径,在库目录里添加Dll1.lib所在的路径。

 

 2.2 在链接器,输入里的附加依赖项里添加Dll1.lib

 

2.3 在生成事件,后期生成事件里的命令行里添加以下命令

      将dll文件编译后拷贝到执行目录下

    说明:copy只能拷贝文件,

               xcopy可以拷贝整个文件夹

 

 方法3:

3.1 添加Dll1.h的包含目录

 

 

3.2 添加Dll1.lib的库目录

 

 

3.3 后面的与2.2/2.3两步相同

 

 

注意:方法2和方法3中,配置选项中的debug/release以及平台x64或者x86需要与编译时的选项一致

 

静态链接库的调用:与动态链接库的调用方法类似,少了.dll文件


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM