C++ extern "c"


C++ extern "c" 在线给分!

举报 |2010-09-05 15:36 wscxyzklc  |  分类:C/C++  |  浏览1114次
各位大哥谁知道extern “C”究竟是什么意思,学了一年半的C/C++ 这个总是理解不了?

C连接与C++连接有什么区别?  给我一个通俗易懂的回答吧,在线给分!!

也就是说为啥子要加extern "c"
2010-09-05 21:42 网友采纳
就我的个人理解:
   extern c是指用c的编译方式编译程序,你应该是在c++代码里面看到的这句话吧,在c++里面,编译时,你定义的各个函数名都会被改成其他的名字,这样就不方便其他的语言来调用该源程序,而在c++定义函数前加一个extern c就表示用c的方式来编译代码,并且函数名不会被改变。你可义测试比较:
g++ filename.cpp -s(该源程序中函数前没加extern c,加参数-s是指生成汇编代码,方便你比较观看) 
g++ filename.cpp -s(该源程序中函数前加extern c)

通过比较你会发现,前一个fileneme.s文件中找不到你先前定义的函数了,是因为c++编译器把你的函数改名了;而后一个filename.s文件中你就能找到这个函数名。

其实在c++中定义的函数前加extern c平时并不常见,用的也不多,你可以不必专研,了解有该用法即可。

你可能感兴趣的:(C++ extern "c")