百度空间 | 百度首页 
 
查看文章
 
C语言调用C++导出函数
2008年08月28日 星期四 12:48
C语言调用C++导出函数(by cici
      最近一网友问我如何实现用纯C语言去调用C++编译的DLL中的导出函数。其实无论是C还是C++都是掉用API来实现各种操作,不过由于C语言缺乏OO,因此更多的时候是用指针而已。

1、我们现在C++中导出一个函数:
extern "C" _declspec(dllexport) void HelloWord()
{
    ::MessageBoxA(NULL,"Hello world","hehe",NULL);
}

2、我们在C语言中可以这样调用:

#include "windows.h"

void func()
{
   HINSTANCE       hLib;
   FARPROC          lpfnDLLProc;

   hLib = LoadLibrary ("helloworld.dll");
   if (hLib)
   {
      lpfnDLLProc = GetProcAddress (hLib,"HelloWord");
      (*lpfnDLLProc) ();
       FreeLibrary (hLib);
   }
}

int main(int argc, char *argv[])
{
func();   
return 0;
}

怎么样?很简单吧。最后附上源代码:其中C++使用MS的编译器。C使用的是GCC的编译器。
点击此处下载

类别:助人为乐 | 添加到搜藏 | 浏览() | 评论 (2)
 
最近读者:
 
网友评论:
1
2008年09月01日 星期一 11:59 | 回复
恩 下载不了...
 
2
2008年09月01日 星期一 18:29 | 回复
谢谢提醒,地址已经修正。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu