通常,在运用不同程序语言编写程序代码过程中,我们也许都将遇到数据类型长度确认的问题,有时也关系着程序结构或者算法思路解析的过程,稍有记忆模糊或者记忆出错都将导致代码调试与程序编译出错。因此,熟悉掌握与分辨出不同编译器下不同数据类型的实际长度十分重要。下面便是进一步说明。
对于数据类型长度的掌握需分清两个方面的内容:
一、程序编译器识别
这里指的是代码源程序实际在运行过程中所用到的编译器,数据类型的实际长度由编译器在编译期间决定。因为在不同的平台下不同数据类型被分配的字节数是不同的,主要包括三个方面的含义,涉及:CPU、OS和Complier。
CPU,即中央处理器,主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。它包括包括运算逻辑部件、寄存器部件和控制部件等。主要实现处理指令、执行操作、控制时间、处理数据等功能,对数据长度的变化没有影响。
OS,即操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。目前使用最多的是32位和64位的OS,但不同OS中也可装载不同的编译器(如64位OS中也可以装32位的OS或者编译器),因此,OS对数据类型的长度没有直接的影响。
Complie
总结:不同编译器下——数据类型的长度变化情况
最新推荐文章于 2024-10-29 17:48:36 发布