1.信息属于位+上下文
8bite 为 一字节
用字节表示文本字符(即code,包括c、c++、java等等),采用ASCII标准表示字符。
#为35 每行结尾都有换行符 \n 为10 (ASCII中)。
2. c文件翻译流程
在Unix系统上,从源文件到目标文件的转化 由编译器驱动程序完成:
例:
linux > gcc -o hello hello.c //-o o为output 之意
执行过程为:
- 预处理阶段 :hello.c -> hello.i
预处理指令包括条件编译、源文件包含、宏替换、行控制、抛错、杂注和空指令。
例:预处理器根据以字符#开头命令,修改原始程序,将include 中文件加载进来,形成新c程序。
2)编译阶段: hello.i -> hello.s
编译器将文本文件hello.i翻译成文本文件hello.s 为汇编语言程序。
汇编语言为不同高级语言的不同编译器提供了通用的输出语言。
3)汇编阶段 hello .s -> hello.o
汇编器(as)将hello.s翻译成机器语言指令,并将其打包为一种可重定位目标程序,保存在hello .o文件中,其为二进制文件。
4)链接阶段 hello.o + printf.o -> hello 可执行文件 (比如.exe)
hello.o调用了printf函数,其为标准库函数,而printf函数存在于一个名为printf.o的单独预编译好的目标文件中,需要将其合并到hello.o中,链接器(ld)进行处理合并,最终得到hello可执行文件,可以被加载到内存中,由系统执行。