C语言调用C++写的DLL
如题:不要从网上摘抄,请帮忙给份源码实例谢谢DLL已经写出来了,但是在C语言中使用,不怎么会,能给份实例吗?所以麻烦帮忙给份小小的源码实例...
如题:
不要从网上摘抄,请帮忙给份源码实例
谢谢
DLL已经写出来了,但是在C语言中使用,不怎么会,能给份实例吗?
所以麻烦帮忙给份小小的源码实例 展开
不要从网上摘抄,请帮忙给份源码实例
谢谢
DLL已经写出来了,但是在C语言中使用,不怎么会,能给份实例吗?
所以麻烦帮忙给份小小的源码实例 展开
2个回答
展开全部
1为了使c能调用c++写的dll。c++中使用extern "C"{ }修饰该接口即可
这个原因你应该知道吧大概意思是告诉c++编译器这段代码用c编译器编译
编译之后的结果是c方式的而不是c++方式的。
2但是c中不识别extern "C"。
综上两点,在dll头文件中常这样写,如下:
意思就是编译的时候编译成c方式。但是包含头文件时,因为是c调用所以会忽略掉extern "C"
#ifdef __cplusplus
extern "C"
{
#endif
。。。。。。。。。。。。
#ifdef __cplusplus
}
#endif
这个你也明白吧。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
这个原因你应该知道吧大概意思是告诉c++编译器这段代码用c编译器编译
编译之后的结果是c方式的而不是c++方式的。
2但是c中不识别extern "C"。
综上两点,在dll头文件中常这样写,如下:
意思就是编译的时候编译成c方式。但是包含头文件时,因为是c调用所以会忽略掉extern "C"
#ifdef __cplusplus
extern "C"
{
#endif
。。。。。。。。。。。。
#ifdef __cplusplus
}
#endif
这个你也明白吧。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
2011-10-11
展开全部
C++代码在开头和结尾扩上extern "C"{ }即可,其他的估计你应该是内行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询