GCC C语言 DLL范例,含源码

作者:小白救星
编译:gcc -c -DBUILDING_HZ_DLL1 hzdll1.c
           gcc -shared -o hzdll1.dll hzdll1.o -Wl,--kill-at,--out-implib,hzdll1.a
           或:gcc -shared -o hzdll1.dll hzdll1.o -Wl,--kill-at,--out-implib,hzdll1.lib
查看dll中的函数:dumpbin -exports hzdll1.dll

 

hzdll1.c

#include <stdio.h>
#include "hzdll1.h"

__stdcall void hello(const char *s)
//void hello(const char *s)
{
        printf("Hello %s\n", s);
}

int Double(int x)
{
        return 2 * x;
}

 

hzdll1.h

#ifndef HZ_DLL1_H
#define HZ_DLL1_H

#ifdef __cplusplus
extern "C" {
#endif

#ifdef BUILDING_HZ_DLL1
#define HZ_DLL1 __declspec(dllexport)
#else
#define HZ_DLL1 __declspec(dllimport)
#endif

void __stdcall HZ_DLL1 hello(const char *s);
//void HZ_DLL1 hello(const char *s);

int HZ_DLL1 Double(int x);

#ifdef __cplusplus
}
#endif

#endif  // HZ_DLL1_H

 

posted @ 2017-10-13 11:27  chinacloudy  阅读(391)  评论(0编辑  收藏  举报