Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1341610
  • 博文数量: 436
  • 博客积分: 7854
  • 博客等级: 少将
  • 技术积分: 3225
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-18 16:30
文章分类

全部博文(436)

文章存档

2013年(2)

2012年(56)

2011年(70)

2010年(308)

分类: C/C++

2010-02-03 20:52:01

1.当然不支持……除非用一大把的MACRO来模拟,并且可能存在严重的Bug……
 
2.C语言标准就规定不允许同一作用域中两个函数重名。
 
和C语言相关的域有两种,一个是给编译器看得,还有一种是给链接器看的,而给编译器看的这种域主要是关于变量的可见范围,而链接器看到的那个是叫文件域,而全局域可能要跨越好几个文件域,这样只要两个同名函数用static修饰,并且在不同的文件中,就不会冲突……  
   
 不过这个实际上已经超越了编译器的范围,到达了链接器的管理区域了……表面看起来两个函数同名,但是实际上编译器为链接器产生的符号已经有了差别……
 
3.另外,函数重载是一个编译期行为,主要是通过name   mangling来产生不同的汇编符号,让linker可以正确的link代码……
阅读(3690) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~