windows下用GCC编译DLL

此程序有3个文件,分别为 export.h 、export.c 、main.c

export.h 文件内容

/*此头很有必要,别人在调用的时候知道有哪些方法*/
#ifdef BUILD_DLL
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif
EXPORT void export(void);

export.c 文件内容

#include<stdio.h>
#include "export.h"
EXPORT void export(void)
{
	printf("HELLO DLL\n");
}

main.c 文件内容(如果仅编译DLL文件,不需要此文件参与)

#include "export.h"
int main()
{
	export();
	return 0;
}

编译生成DLL

D:\>gcc -shared -o export.dll export.c

至此DLL已编译完成,其他程序可调用。

现在编译 main.c 调用此DLL

D:\>gcc -o main.exe main.c -L./ -lexport

执行 main.exe

D:\>main.exe

HELLO DLL

时间: 2024-11-05 18:38:36

windows下用GCC编译DLL的相关文章

各种Windows下面的gcc native build环境的比较

http://i.rexdf.org/blog/2015/04/04/fa-xian-ge-xin-huan-jing-msys2/ 最近注意到了一个新的Windows上面的模拟Linux的项目.一般来说两大主流阵营MingW与Cygwin,这两个思路各不相同.相对来说 MingW性能比较好,尽可能用WinAPI替代实现.Cygwin则是添加了一个层,利用很多dll来模拟Linux的那些syscall(典型的如 fork).所以cygwin程序一般都是需要有cygwin的dll在path里面才可

手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)

转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言开发的,不可避免的,libav源码使用了一些gcc的特性,那么在Windows下很难使用VC编译,但是使用MinGW编译却简单多了,下面我将根据自己的经历逐步介绍使用MinGW编译libav的过程以及在此过程中遇到的问题及其解决方法. 1      安装MinGW编译环境 1.1    安装MinG

Linux下的GCC编译指令

1简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objective C 语言.Pascal 语言.COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等.而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了.另一方面,说到 GCC 对于操作系统平

学习C语言第一天:在windows下使用gcc的条件

在windows下使用gcc的条件1,必须是提前安装了gcc这个程序 2,在windows系统path的环境变量中,代表windows从哪里寻找程序和相关的库,path中不同的路径用";"分割 在PATH中添加:C:\Qt\Qt5.3.0\Tools\mingw482_32\bin\C:\Qt\Qt5.3.0\5.3\mingw482_32\bin 3,打开命令窗口,输入gcc -v,如果看到gcc版本提示代表gcc配置成功4,打开qt生成一个空的项目,编译后,如果在我的电脑中双击生成

windows下用vs2010编译ffmpeg

转载自;http://q1q2q3q4q5q6ln.blog.163.com/blog/static/500794332014666536283/ (注意:请务必先阅读:七,后记补充:) ffmpeg是一个开源的多媒体库,使用非常广泛.在linux下编译ffmpeg非常简单,而在Windows下编译就不是那么容易了.一般在windows下使用MinGW的gcc toolchain进行编译,这样的话,因为ffmpeg的导出函数均是C风格,因而gcc编译的lib可以被vs链接.但是gcc的debug

【转】Windows下使用VS2008编译OpenCV 2.1 添加Intel TBB和Python支持

Windows下使用VS2008编译OpenCV2.1 添加Intel TBB和Python支持 步骤: 1.仔细阅读OpenCV官网上的InstallGuide:http://opencv.willowgarage.com/wiki/InstallGuide 2.在"2) Install Prerequisite Libraries and Tools"中提到了如果想支持Python调用需要Python 2.6或者 2.7版本,而且还需要NumPy和SciPy库.升级Python至2

Windows下安装GCC

2333今天才想起来要在windows上搭建一套gcc, gdb, make工作环境. 网上查了一下在Windows下比较流行的GCC移植版本主要有三个.他们是 MinGW,Cygwin和Djgpp. 总体来说, MinGW , Cygwin 和 Djgpp 各有特色,针对不同的应用场合,可以选择不同的移植版来满足需要. MinGW 这个系列的移植,主要方向是让 GCC 的 Windows 移植版能使用 Win32API 来编程.而 Cygwin 的目标是能让 Unix-like 下的程序代码在

关于在linux下用gcc编译头文件的问题。

关于在linux下用gcc编译头文件的问题. 2011-01-21 18:5215052135380 | 分类:其他编程语言 | 浏览8139次 有node.h prepare.h list.h file.h 这四个头文件, prepare.h中用到了node.h, list.h中用到了preapre.h , file.h中用到了list.h ,怎么用gcc对这四个头文件进行编译. 分享到: 2011-01-22 02:23 天天爱答题,抽奖送惊喜~ 提问者采纳 我用一个例子来告诉你怎么样在 C

Windows下从源代码编译Skia

在PPAPI里面画图,能够结合第三方的图形库.比方Cairo.Skia. Google Chrome.Chromium和Android都使用Skia作为画图引擎.我也来试试Skia,先过编译关. foruok原创.如需转载请关注foruok的微信订阅号"程序视界"联系foruok. CEF编译出的Skia不可单独用 Chromium使用Skia.Windows下从源代码编译CEF说明了怎么编译CEF,它会捎带着编译Chromium.里面有Skia,但它编译出来的skia_library