打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
静态变量、全局变量在ELF文件中的位置

   静态变量编译之后,被编译器放到了可执行文件的哪个字段? 以下实验在ubuntu10.04上完成,使用gcc4.4.3。

测试源码如下:

  1. #include <stdio.h>  
  2.   
  3. int g_val_init = 45;  
  4. int g_val_uninit;  
  5. static int s_global_inited = 12;  
  6. static int s_global_uninited;  
  7.   
  8. struct ct_type{  
  9.     char st_s_val;  
  10.     char st_val;  
  11. };  
  12.   
  13. int   
  14. foo()  
  15. {  
  16.     static int s_foo_init = 67;  
  17.     static int s_foo_uninited;  
  18.   
  19.     printf("hello..\n");  
  20.     return 0;  
  21. }  
  22.   
  23. int main()  
  24. {  
  25.     static int s_local_inited = 23;  
  26.     static int s_local_uninited;  
  27.     static struct ct_type s_ct = {.st_s_val=133, .st_val=132 };  
  28.     struct ct_type local_ct;  
  29.     int tmp = 100;  
  30.   
  31.     printf("%d..\n", tmp);    
  32.     return 0;  
  33. }  


使用gcc -S static_val.c 编译:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
嵌入式C语言不可不用的关键字
一文让你彻底明白C 中的const
C标准库思维导图、C 关键字概览
C++ 全局变量、静态全局变量和静态局部变量的异同?能结合代码详细分析一下吗?谢谢 - 已...
C#中static关键字的作用
C++中静态成员函数访问非静态成员变量
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服