我最近接受了一次采访,其中一个问题是extern "C"
在C++代码中的用途是什么。我回答说,它是在C++代码中使用C函数,因为C不使用名称损坏。有人问我为什么C不使用名称损坏,老实说,我无法回答。
据我所知,当C++编译器编译函数时,它会为函数指定一个特殊的名称,这主要是因为我们可以在C++中使用必须在编译时解析的同名重载函数。在C中,函数的名称将保持不变,或者前面可能有一个_。
我的疑问是:允许C++编译器也破坏C函数有什么错?我会假设编译器给它们起什么名字并不重要。我们在C和C++中以相同的方式调用函数。
https://stackoverflow.com/questions/36621845
复制相似问题