使用gcc编译出dll文件的方法

我们通过实例来学习使用gcc编译出dll文件的方法,看下面的例子说明这个过程,共有三个文件:hello.c、dll.h和dll.c。  hello.c 文件内容如下 #include <stdio.h>  #include "dll.h"  int main()  {      hello();      return 0;  }  其中,hello()函数是动态连接库提供的函数。  dll.h 文件内容如下 #ifdef BUILD_DLL /* DLL export */  #define EXPORT __declspec(dllexport)  #else /* EXE import */  #define EXPORT __declspec(dllimport)  #endif  EXPORT void hello(void);  dll.c 文件内容如下 #include "dll.h"  EXPORT void hello(void)  {      printf ("Hello/n");  }  三个文件的内容都很简单,无须解释。 编译连接程序  1、编译hello.c  gcc -c hello.c  2、编译dll.c  gcc -c -DBUILD_DLL dll.c  注意要使用要使用-DBUILD_DLL来设置宏BUILD_DLL  3、创建dll  gcc -shared -o message.dll dll.o -Wl,--out-implib,libmessage.a  这一步要详细说明一下  -shared参数用来创建共享库,在windows中为dll  -Wl 等待下一条信息进行连接  --out-implib是给连接程序ld使用的,用于创建要连接dll需要的import library  4、创建可执行文件  gcc -o hello.exe hello.o -L./ -lmessage -L 指定连接库路径 -lmessage (or -l message) 指定dll的import library  好了,编译连接完成,运行程序  C:/>hello  Hello!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值