c++虽然是一种面向对象的语言,但是还是保留了很多面向过程的特点。比如说它可以定义不属于任何类的全局变量和函数。但是c++毕竟是一种面向对象的程序设计语言,为了支持函数重载,c++对全局变量的处理和c有明显的不一样。
被extern“c”修饰的变量和函数是按照c语言方式编译和连接的。
作为一种面向对象的语言,c++支持函数重载,而过程语言c则不支持,函数被c++编译后在函数库中的语言和c语言的不同。可以举例说明:
void foo(int x, int y)
该函数被c编译后在符号库中的名字为——foo。但是c++则会根据编译其的不同,生成类似——foo——int——int之类的函数名。
c++ 靠这种机制进行重载。
C中引用c++的变量和函数。也需要申明extern “c”
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/119212/viewspace-916224/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/119212/viewspace-916224/