Windows下使用gcc编译并使用DLL

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文件,运行软件

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值