1、VC可以编译C函数动态库;
2、简单的dll编写例子(以最简单的两数相加函数为例):
创建工程项目Win32 Dynamic-Link Library.
加入头文件及源文件比如dll.h dll.cpp,
在头文件中:
#ifndef DLL_H
#define DLL_H
extern "C" int __declspec(dllexport)add(int x, int y);
#endif
在源文件中:
#include "dll.h"
int add(int x, int y)
{
return x + y;
}
3、dll的简单调用:
#include
#include
typedef int(*lpAddFun)(int, int); //宏定义函数指针类型
int main(int argc, char *argv[])
{
HINSTANCE hDll; //DLL句柄
lpAddFun addFun; //函数指针
hDll = LoadLibrary("..\\Debug\\dll.dll"); //这个是你上个工程dll所在的路径,当然你可以直接把DLL拷贝到当前工程,这样直接写hDll = LoadLibrary("dll.dll");
if (hDll != NULL)
{
addFun = (lpAddFun)GetProcAddress(hDll, "add");
if (addFun != NULL)
{
int result = addFun(2, 3);
printf("%d", result);//MFC里面改成AfxMessageBox进行测试
}
FreeLibrary(hDll); //用完最后别忘记释放
}
return 0;
}
有不明白的欢迎追问~~
可以用VC的,你在VC里新建一个MFC的project,把你的C语言写的.c文件加入到MFC工程里编译运行就可以了。
完全可以,使用标准C的DLL生产方式 Export,就可以在MFC中使用了
部分函数可以调用,但是绝大部分都是c++函数!
不清楚,我也不知道,你去百度吧