[英]Using “C” function and variables in “C++” code
我需要从“ C ++”文件调用“ C”函数,该函数具有一个参数变量"struct"
(在“ C”文件中定义)。
我使用了'extern "C"'
,但是出现了链接错误。
请建议我一些方法吗?
感谢Priyanshu
由于您还没有回来,因此您可能应该查看以下可能的文件排列和头文件。
//这是头文件(myh.h)
struct S{};
#ifdef __cplusplus
extern "C" {
#endif
void fn(S s);
#ifdef __cplusplus
}
#endif
//这是CPP文件(ZCPP.cpp)
#include "myh.h"
int main(){
S s;
fn(s);
}
//这是C文件(ZC.c)
#include <stdio.h>
#include "myh.h"
void fn(S s){
printf("Hi\n");
}
[提示@测试〜] $ g ++ zcpp.cpp zc.c
[提示@测试〜] $ ./a.out
你好
[提示@测试〜] $
您应该阅读此线程如何混合C和C ++,以了解混合C和C ++代码的来龙去脉。
完成后,您还可以查看相应的FQA线程 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.