21xrx.com
2024-11-05 21:41:55 Tuesday
登录
文章检索 我的文章 写文章
extern "C"
2023-07-07 11:05:35 深夜i     --     --
extern 来源于C语言 可以在C++中与C代码进行互操作 可以用于声明函数或变量

在C++中,extern "C"是一个非常常用的关键字。这个关键字告诉编译器在extern变量或函数声明中使用C链接约定,这意味着函数名将被编译为C语言的格式,而不是C++的格式。

为什么要使用extern "C"?在C++中,函数名根据其参数进行重载,这就意味着两个函数即使名称相同,但如果参数类型不同,它们就会被认为是不同的函数。这有时会导致一些问题,例如想在C++代码中使用一个C语言写的库时,可能就需要使用extern "C"关键字来修复名称编译的差异。

使用extern "C"的另一个好处是能够减少函数名的重量,这对于一些嵌入式设备或有限制的环境来说很重要。这个关键字可以节省一些内存空间,并减少链接时间。

一个常见的示例是在C++中使用C语言的标准库函数。例如,想要在C++中使用printf函数,必须使用extern "C"关键字告诉编译器使用C的链接约定,这样才能正确链接到libc库中的printf函数。

总之,尽管使用extern "C"或许不是每个开发者都需要,在一些特定的情况下,它是至关重要的。通过使用这个关键字,可以简化函数名、减少内存占用,以及在C++和C之间进行接口交互。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复