C语言中的为声明或定义的变量编译器如何处理?
来源:互联网 发布:卸载root权限软件 编辑:程序博客网 时间:2024/06/11 23:29
查了好多资料,最终都没有一个明确的说法,最后自己想办法,终于找到问题的答案。
我用keil 4编写51单片机应用代码,然后输入要测试的语句,观察HEX文件的大小,发现,若在普通语句中插入变量,即使是定义了这个变量,hex文件的大小不会改变,如果给此变量赋值,则HEX文件会变大。若在for while switch 函数语句中定义一个变量,无论此变量是否赋值HEX文件都会变大。如果声明了一个变量,无论在哪里HEX文件的大小不变。
这说明(1)无论c文件里是否有main,编译过程对于他们是一样的。
(2)定义不使用的变量若为全局变量,则编译器不会给它分配存储空间,若为局部变量,则会分配。
(3)HEX文件为最终生成的功单片机使用的16进制码,是和BIN文件一样的机器码。
- C语言中的为声明或定义的变量编译器如何处理?
- C 语言变量的声明和定义
- c语言变量的声明和定义
- C语言中变量的定义&声明
- 如何理解C语言中的变量声明
- C语言如何跨文件调用函数定义中声明的变量
- C语言中的变量声明
- C语言中变量和函数的声明与定义
- C语言中变量和函数的声明与定义
- C语言中变量定义与声明的区别
- C语言中变量的定义和声明
- C语言中变量定义与声明的区别
- C语言 变量声明和定义的区别
- C语言中变量的复杂声明和定义
- C语言中变量定义与声明的区别
- C语言 变量声明和定义的区别
- c语言定义变量与声明的区别
- C语言中变量声明和定义
- 基于复合主键的关联关系
- 复合主键的成员属性为关联实体
- my vimrc
- my bashrc
- maven 配置
- C语言中的为声明或定义的变量编译器如何处理?
- 易用的C++ RPC服务框架 - pioneer - 3 - 编写你自己的控制台命令
- closet Pair问题转载
- openCV的矩阵乘法
- URAL 1855 Trade Guilds of Erathia
- Finding Closet Pair II
- 黑马程序员--JAVA基础复习之多线程(一)概念与创建方法
- SDWebImage 原理及使用
- POJ3321:Apple Tree