FranklinUNK 发表于 2024-6-20 15:32

c++里用extern“C”跟直接使用c语言有什么区别啊?

这样是不是差不多啊

Henryko 发表于 2024-6-27 15:25

这个是告诉编译器用c格式编译吧

黑心单片机 发表于 2024-6-27 16:45

应该用起来没啥区别吧

狄克爱老虎油 发表于 2024-7-22 14:55

这是用c++编译器编译c

尽快回复过 发表于 2024-7-25 16:30

extern "C" 是实现 C++ 和 C 语言代码互操作的关键工具,确保不同语言的代码能够正确链接和调用。

powerantone 发表于 2024-8-7 20:07

C语言适用于需要过程式编程的场景,而C++中的extern "C"则是一种机制,用于在C++项目中包含和使用C语言编写的代码或库。

又见春光 发表于 2025-6-29 18:42

在 C++ 中使用extern "C"与直接使用 C 语言存在本质区别,关键在于编译和链接机制的不同。
1. extern "C"的作用
extern "C"是 C++ 特有的语法,用于告诉编译器:“这段代码按 C 语言的规则编译和链接”。主要解决的问题是:
函数名修饰(Name Mangling):C++ 为支持重载(同名函数不同参数),会在编译时修改函数名(如int add(int a, int b)可能被编译为_Z3addii),而 C 语言不支持重载,函数名直接编译为原名称(如add)。
链接兼容性:当 C++ 代码需要调用 C 语言编写的库(如标准 C 库libc)时,若不使用extern "C",链接器会因函数名不匹配而报错(找不到_Z3addii)。
页: [1]
查看完整版本: c++里用extern“C”跟直接使用c语言有什么区别啊?