首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

extern"C"对C有影响吗?

在C++中,extern "C"用于告诉编译器采用C语言的链接约定。这是因为C++支持函数重载,所以在编译时会根据函数的参数类型和名称生成不同的符号,而C语言没有函数重载特性,所以它的符号名称与C++不同。

当你在C++代码中调用C语言编写的函数时,需要使用extern "C"来声明该函数,以确保链接器能够正确地找到该函数。这是因为C++编译器会使用C++的链接约定来编译和链接代码,而C语言编译器则使用C的链接约定。

例如,在C++代码中调用C语言函数printf时,应该这样声明:

代码语言:cpp
复制
extern "C" int printf(const char* format, ...);

这样,编译器就会使用C语言的链接约定来查找printf函数,从而正确地调用它。

因此,extern "C"对C语言的影响主要体现在链接约定上,它能够确保C++代码能够正确地调用C语言编写的函数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券