第4章-程序的链接.pptVIP

  • 5
  • 0
  • 约1.6万字
  • 约 49页
  • 2020-04-24 发布于广东
  • 举报
. 多重定义符号的解析举例 打印结果: d=0,x=1 072 693 248 Why? 1 double d; 2 3 void p1( ) 4 { 5 d=1.0; 6 } ……. 1 int d=100; 2 int x=200; 3 int main() 4 { 5 p1( ); 6 printf (“d=%d, x=%d\n”, d, x ); 7 return 0; 8 } main.c p1.c 理解该问题需要知道: 机器级数据的表示与存储 链接器的符号解析规则 …… double型数1.0对应的机器数3FF0 0000 0000 0000H 低 高 IA-32是小端方式 多重定义全局符号的问题 尽量避免使用全局变量 一定需要用的话,就按以下规则使用 尽量使用本地变量(static) 全局变量要赋初值 外部全局变量要使用extern 多重定义全局变量会造成一些意想不到的错误,而且是默默发生的,编译系统不会警告,并会在程序执行很久后才能表现出来,且远离错误引发处。特别是在一个具有几百个模块的大型软件中,这类错误很难修正。 大部分程序员并不了解链接器如何工作,因而养成良好的编程习惯是非常重要的。 头文件(

文档评论(0)

1亿VIP精品文档

相关文档