DLL函数源代码dll.c
#include <stdio.h>
#include "dll.h"
EXPORT void fun1()
{
printf("This is fun1\n");
}
EXPORT void fun2()
{
printf("This is fun2\n");
}
导出DLL的头文件dll.h
#ifdef BUILD_DLL
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif
EXPORT void fun1(void);
EXPORT void fun2(void);
gcc编译命令
gcc -shared -o dll_demo.dll .\dll.c
使用DLL
#include <stdio.h>
#include "dll.h"
int main()
{
fun1();
fun2();
return 0;
}
编译命令
gcc -o testDLL.exe .\testDLL.c -L./ -ldll_demo
//-ldll_demo = -l + dll文件名字
运行结果
This is fun1
This is fun2
gcc使用lib文件编译,运行时使用dll
#include <stdio.h>
#include "dll.h"
#pragma comment(lib, "dll.lib")
void main(){
//...
}
编译命令
g++ .\useDLL.cpp .\dll.lib
软件目录下放入dll文件,运行软件