sshong发表于2007年11月4日 13:11:00 更新于2008年3月21日 19:20:00
  核心原因:C不支持重载,而C++支持!
  在c++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如函数的返回类型等等.
  而在C中,只是简单的函数名字而已,不会加入其他的信息.
  也就是说:C++和C对产生的函数名字的处理是不一样的. 两者生成的目标符号表不一样!
  如函数
void foo( int x, int y );
  该函数被C编译器编译后在符号库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字(不同的编译器可能生成的名字不同,但是都采用了相同的机制,生成的新名字称为“...
标签:无分类:C++阅读:2380评论:0阅读全文
共11篇日志 第2/2页 上一页 首页
联系我
博客订阅