C语言调用C++写的DLL

2025-02-26 01:34:06
推荐回答(2个)
回答1:

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
这个你也明白吧。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

回答2:

C++代码在开头和结尾扩上extern "C"{ }即可,其他的估计你应该是内行。