c函数声明_C调用C++函数,函数符号找不到
创始人
2024-10-15 03:09:16

在C++中,函数名可以有修饰(name mangling),这是为了支持函数重载,C语言并不支持函数重载,因此C++编译器通常会对C++函数名进行修饰以生成唯一的标识符。

c函数声明_C调用C++函数,函数符号找不到(图片来源网络,侵删)

当你尝试从C代码中调用C++函数时,可能会遇到找不到符号的问题,因为C编译器无法识别被修饰的C++函数名,解决这个问题的一种方法是使用extern "C"来告诉C++编译器使用C链接约定,这样就不会对函数名进行修饰。

 // C++ code extern "C" void myFunction() {     // Your code here } 

在这个例子中,myFunction函数将被C编译器视为未修饰的函数名,因此可以在C代码中调用它。

另一种解决方案是在C++代码中使用extern "C"声明一个C风格的函数原型,然后在实现这个函数时使用C++的名称。

 // C++ code extern "C" void c_style_function(); void c_style_function() {     // Your code here } 

在这个例子中,c_style_function函数在C代码中是可见的,因为它有一个C风格的函数原型。

相关内容

热门资讯

宇航员滞留太空9个月,NASA... IT之家 2 月 20 日消息,据《科学美国人》报道,美国国家航空航天局(NASA)高层于本周四披露...
荒谬至极!印度大学展出泡沫塑料... (图片来源:视频截图) 2月18日,在印度新德里举办的印度人工智能影响力峰会(India AI Im...
春晚总导演于蕾发声:春晚接受观... “开门办春晚”向来是总台春晚的传统,从看弹幕、读评论,到如今引入大数据团队进行理性分析,在新技术的加...
国轩高科取得动力电池及用电设备... 国家知识产权局信息显示,合肥国轩高科动力能源有限公司取得一项名为“动力电池及用电设备”的专利,授权公...
世界最小二维码问世:仅1.98... 来源:市场资讯 (来源:IT之家) IT之家 2 月 19 日消息,二维码究竟能小到什么程度?小到只...