c与c++的相互引用

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值