首页
学习
活动
专区
工具
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语言编写的函数。

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

相关·内容

1分9秒

C语言使用结构体对学生成绩排序

1分49秒

Windows逆向工程真的很难学吗?【网络安全/科普/面试/考研/C++】

1分25秒

Top10漏洞过时了?还需要学习吗?【C++/病毒/内核/逆向】

1分24秒

Windows和Linux平台的逆向,有很大区别吗?【C++/病毒/内核/逆向】

1分34秒

Windows内核岗学的多吗?就业前景怎么样?【C++/病毒/内核/逆向】

2分13秒

C语言 | 用指针对10个数排序

1分11秒

C语言 | 冒泡排序比较大小

6分24秒

手搓操作系统踩坑之宏没有加括号-来自为某同学支持和答疑的总结

14分35秒

Windows系统未激活或key不合适,导致内存只能用到2G

5分8秒

1.项目概述

领券