Python Tutor - Visualize Python, Java, JavaScript, C, C++, Ruby code execution
gcc -E text.c -o text.i 展开头文件
gcc -S text.i -o text.s 检查错误
gcc -c text.s -o text.o 编译成二进制
gcc text.o -o text 生成可执行程序
425-624-4468
day3
补充内容
1、模块化及封装函数
2、软硬链接
d 目录文件 mkdir创建的都是D
- 普通文件 touch创建的所有文件都是普通文件
l 链接文件
s 套接字文件
p 管道文件
c 字符
b 块设备文件
硬盘存储单位叫 扇区,8个扇区为一个 块。0.5kb
文件存取最小单位叫 块 4kb
ln 硬链接 ln 原文件 目标文件
ln -s 软连接 ln -s src dest
复习
1.union联合体和共用体共用最大的字节。
2.标识符的合法性:只能由字母和下划线开头。
3.#define 定义没有类型
4.宏替换在预处理时候就展开了,运行时不占用时间。
5.运算优先级。
6.if代码注意括号。
7.在绝对地址--> *(char *) 绝对地址 = ‘a’;
8.一个字节8位,char类型是一个字节8位,int类型4字节32位,有可能考察你对大端序小端序的理解。
小端序正常理解;
大端序:排列的时候,高地址存放在低地址,读的时候也是从低地址开始读。
9.右左法则,判断类型。
10.代码程序问题总结
1、警告问题
1.1一般是头文件没有加。
1.2、调用函数的参数类型不对。
2、直接报错
2.1、操作文件,也要注意文件是否有错。
2.2、特别要注意循环程序里面的错误。
2.3、if( ) 或者for( )等 后面有没有 “ ;”,后面不要加“ ;”。
3、段错误一般情况
3.1、可能是自己定义得argv[1] 命令行参数错误。
makefile常用模板
CC=gcc
CFLAGS=-c -Wall -g -I ./include
SRCS = $(wildcard ./src/*.c)
OBJS = $(patsubst %.c, %.o,$(SRCS))
app:$(OBJS)
$(CC) $(OBJS) -o app
clean:
$(RM) *.o app -r