vs2010环境下c语言dll封装.,vs2010下编译DLL库和使用

本文详细介绍了如何在Visual Studio 2010中创建DLL动态链接库文件,包括定义头文件、实现源文件、创建模块定义文件及编译设置。同时,还展示了如何在另一项目中导入并调用DLL文件中的Add函数,涉及到了dllimport和dllexport关键字的使用。
摘要由CSDN通过智能技术生成

一、创建DLL 文件

1 vs2010下选择win32应用程序,创建DLL 工程

2 创建头文件testdll.h

#ifndef TestDll_H_

#define TestDll_H_

#ifdef MYLIBDLL

#define MYLIBDLL extern "C" _declspec(dllimport)

#else

#define MYLIBDLL extern "C" _declspec(dllexport)

#endif

MYLIBDLL int Add(int plus1, int plus2);

//You can also write like this:

//extern "C" {

//_declspec(dllexport) int Add(int plus1, int plus2);

//};

#endif

3 创建源文件

#include "stdafx.h"

#include "testdll.h"

#include

using namespace std;

int Add(int plus1, int plus2)

{

int add_result = plus1 + plus2;

return add_result;

}4 创建模块文件

LIBRARY "MyDLL"

EXPORTS

Add @15 选择release版本进行编译

二、调用DLL文件中的函数

#include "stdafx.h"

#include

#include

#pragma comment (lib , "MyDll.lib" )

extern "C"_declspec (dllimport) int Add(int plus1, int plus2);

int _tmain(int argc, _TCHAR* argv[])

{

printf("%d\n",Add(6,4));

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
封装一个C语言的动态链接(DLL),需要进行以下步骤: 1. 创建一个新的C语言项目,将需要封装的函数实现在该项目中。 2. 在项目属性中,将输出类型设置为DLL。 3. 编译项目,生成DLL文件。 4. 创建一个包含需要调用DLL函数的头文件的项目。 5. 在该项目中包含DLL的头文件,链接DLL,并调用其中的函数。 下面是一个简单的示例: ```c // 封装的函数,将两个整数相加 int add(int a, int b){ return a + b; } ``` 在Visual Studio中,创建新项目时可以选择DLL项目类型,也可以创建普通C语言项目后,进入项目属性->配置属性->常规,将输出类型改为DLL。 在生成DLL后,需要将生成的DLL文件和头文件提供给其他开发人员使用。其他开发人员只需要包含头文件,并在链接时链接DLL即可调用函数。例如: ```c #include <stdio.h> #include "mydll.h" // 封装DLL的头文件 void main(){ int a = 1, b = 2; int result = add(a, b); // 调用封装的函数 printf("%d + %d = %d\n", a, b, result); } ``` 在链接时需要将DLL链接进来,可以在Visual Studio中将DLL添加到链接器->输入->附加依赖项中,或者使用命令行参数-l来链接。例如: ``` gcc main.c mydll.lib -o main ``` 需要注意的是,封装DLL时需要考虑函数的可见性,一般使用__declspec(dllexport)来声明需要导出的函数。例如: ```c __declspec(dllexport) int add(int a, int b){ return a + b; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值