Linuxc基础 一

今天讲了gcc的使用,c语言程序编译步骤,编码规范,程序的头文件,man函数,内存以及数据存储。
gcc使用

  1. 计算机能识别的唯一语言是二进制语言
    语言发展:
机器语言 二进制数据 ,11010101
汇编语言 用符号表示一组操作 add call mov 直接操作硬件速度快
高级语言 用语句为单位进行操作 可移植

c语言是中级语言,具有汇编特性同时也有高级语言的可移植性。
编译器:将原来的代码编译成计算机可执行的代码。相同的代码经过不同的编译器编译,可以被不同的设备执行。
2. c语言程序编译步骤

预处理 处理“#”开头的内容,进行替换,去掉注释 生成预处理文件,后缀名是 .i
编译 编译器对代码进行编译 最复杂,耗时最长的过程 生成汇编文件,后缀名是 .s
汇编 把汇编文件编译成二进制目标文件 生成目标文件,后缀名是 .o
链接 把多个目标文件照一定规则整合成一个可以执行的程序 生成是最终的可以运行的程序
  1. gcc的命令
gcc -E 对文件进行预处理
gcc -S 对文件进行编译 生成汇编文件
gcc -c 对文件进行汇编 生成目标文件
gcc -o 结合成的文件重新命名
gcc 默认生成的文件 文件名是 a.out

程序与头文件
4. 头文件的包含方式
#include 默认是从/usr/include/目录下搜索文件
#include “stdio.h” 先在当前目录下搜索文件,如果没有再去/usr/include下找
stdio.h是C语言的标准输入输出头文件
5. man
①有返回值,返回值是int类型,用来表示程序结束状态如果程序是正常结束返回0,异常结束,返回其他值
②C语言有且仅有一个main函数
③程序main函数开始执行
3. {}代码块 return 表明函数结束,下面的部分都不执行 printf()是stdio.h文件中的一个函数,所以使用这个函数必须包含stdio.h头文件
4. 编码规范
① “{”下面一行内容和这个“{”要有4个空格的缩进
②单词要有空格
③不同的逻辑代码之间要空行
内存
程序:
①没有运行的程序 存在存储设备中,比如 硬盘 ,u盘,手机。
②运行起来的程序 程序会被都到内存中执行内存中存该程序的可执行代码数据
存储单位
①位 bit 是一个二进制数字 只能表示0或1
②字节 Byte 使用的单位是B 1B=8b
③kB 1kB=1024B
④MB 1MB=1024kB
⑤GB 1GB=1024MB
内存最小的存储单位是字节 ,内存为每个字节分配了一个编号这个编号叫做内存地址。
内存为字节分配编号,这个编号的位数是固定的要统一编号
①32位系统 编号是32位的二进制 00001…101010(32个) 4B
②64位系统 编号是64位的二进制 00001…10101010(64个) 8B
数据存储
内存存的是二进制数据,以1个字节为例

  1. 无符号数 只有正数,不带负号
    其范围是0~255
  2. 有符号数 带正负号的数
    内存取最高位为符号位
最高位 类型
0 正数
1 负数

有符号数的取值范围是-128~127
有符号数在一个字节范围内
127+1=-128
1111 1111 代表 -1

你可能感兴趣的:(Linuxc基础 一)