繁体   English   中英

在“ C ++”代码中使用“ C”函数和变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM