gcc编译器
1、安装gcc编译环境:
2、gcc命令基本格式:gcc [options] [filename],其中,options为编译器所需要的参数,filenames为给出相关的文件名称。
3、 安装好gcc编译器后,使用gcc命令对.c文件进行预处理->编译->汇编->链接 ,得到可执行文件,在ubuntu终端中,切换到可执行文件所在的目录中输入命令:./可执行文件名即可成功运行。
预处理:gcc -E .c源文件 -o 目标.i
编译: gcc -S 目标.i -o 目标.s
汇编: gcc -c 目标.s -o 目标.o
链接: gcc 目标.o -o 可执行文件
原码、反码和补码
首先,不管何种数据类型,在内存中都是以二进制的方式进行存储。
原码、反码、补码,有符号数(分正负)的最高字节的最高位表示符号位,0表示是正数,1表示负数;负数在内存中就是以补码的形式存储的。
反码=原码取反,即0变成1,1变成0,取反的时候,符号位不变
补码=反码+1
反过来读取的时候只要逆运算即可,即反码=补码-1,原码=反码取反,符号位不变。
char 类型 -1:
原码: 1000 0001 反码: 1111 1110 补码: 1111 11
常量及宏定义表示
常量有整型常量,字符常量,长整型常量,无符号整型常量,浮点型常量,字符串常量:其中特别注意字符串常量都是‘\0’字符结尾的,因为’\0’是字符串的结束符号。 ‘\0’的ASCII码值为 0。
常量用宏来表示.,即 #define 名字 数值,宏定义也可以用来宏函数定义,即#define 函数名(参数) 参数运算式。特别需要注意的是,宏定义只做简单的文本替换,不会考虑运算中的顺序问题,因此需要给参数运算式加上括号。