怎么在MFC中调用C文件里面的函数

如何在MFC中调用C文件里面的函数?
本帖最后由 lulongqin12 于 2014-11-03 19:38:41 编辑
本人应工作需要编写了一个MFC程序,现在要调用C文件,但具体不知如何操作,希望得到各位的指教,谢谢!
举个例子:有一个C文件主要实现两个整数的相加,即实现sum=a+b。而在我的MFC中有一个button,当我按下它的时候,能够调用C文件中的a和b参数,并对其赋值,然后C文件运行结束后,会把得到的sum值传回来。
谢谢各位的指教!
------解决思路----------------------
如果源文件是c的话,默认所有导出函数都隐含加了extern "C"的属性

你在CPP里使用那些函数,应该需要在声明里加上extern "c"属性的,否则链接器会按CPP方式去查找函数,这当然是找不到的

按理说开源工程一般都会做得比较细心才对啊,你看一下它的头文件,一般在开头都会有类似下面的代码,包括windows的头文件,全部都会有的

#ifdef __cplusplus
extern "C" {
#endif

xxxxxx函数声明

#ifdef __cplusplus
}
#endif

------------摘自百度回答:http://zhidao.baidu.com/link?url=hF0oR0CLPUA_-Um_NBdl9D1kGOWDmpjhJ0OV930Hs0FUpQs1i35LnHxu8SIiOdn0WIY2KeeS91S3yg-NohDXKZsaO_Gow6MBh8ac4mFyBoO
------解决思路----------------------
你可以将你C中的函数做成dll,向外提供接口供你C++函数调用
------解决思路----------------------
封装成DLL后,直接引入对应的头文件后,就可以直接使用里面的函数了,如果使用有问题,可能就是封装DLL的代码有问题,可以使用DEPENDS.exe来查看下你封装的DLL的接口
------解决思路----------------------
这个是基础哦!

你可以看看孙鑫的关于动态链接库编写,调用的视频(动态调用,隐式链接方式)
再详细不过了,网上有,你可以找来跟他一步一步学