C语言,练习0:
先创建一个文件夹,我用的是物理机:

安装build-essential

练习1:

我注释掉了
#include <stdio.h>
出现下面错误

- 在你的文本编辑器中打开
ex1文件,随机修改或删除一部分,之后运行它看看发生了什么。 - 再多打印5行文本或者其它比
"Hello world."更复杂的东西。 - 执行
man 3 puts来阅读这个函数和其它函数的文档。
1、只修改,编译出错
原因:make ex1.c
应该是make ex1
2、略,可以打印参数什么的
3、
练习2:

添加了Makefile文件以后
执行 make clean会删除ex1可执行文件
cat 查看一下:

Makefile文件必须为TAB键,不可以为4个空格

输入对了会变颜色:

错了是这样的:

- 创建目标
all:ex1,可以以单个命令make构建ex1。 - 阅读
man make来了解关于如何执行它的更多信息。 - 阅读
man cc来了解关于-Wall和-g行为的更多信息。 - 在互联网上搜索Makefile文件,看看你是否能改进你的文件。
- 在另一个C语言项目中找到
Makefile文件,并且尝试理解它做了什么。

Makefile 使用示例:
# 定义编译器
CC = gcc
# 定义编译选项
CFLAGS = -Wall -g
# 定义目标文件
TARGET = myprogram ex3
# 定义对象文件
OBJS = main.o utils.o ex3.o
# 默认目标
all: $(TARGET)
# 生成可执行文件 myprogram
myprogram: $(OBJS)
$(CC) $(CFLAGS) -o myprogram main.o utils.o
# 生成可执行文件 ex3
ex3: ex3.o utils.o
$(CC) $(CFLAGS) -o ex3 ex3.o utils.o
# 生成 main.o
main.o: main.c utils.h
$(CC) $(CFLAGS) -c main.c
# 生成 utils.o
utils.o: utils.c utils.h
$(CC) $(CFLAGS) -c utils.c
# 生成 ex3.o
ex3.o: ex3.c utils.h
$(CC) $(CFLAGS) -c ex3.c
# 清理生成的文件
clean:
rm -f $(TARGET) $(OBJS)
# 安装目标(可选)
install:
cp $(TARGET) /usr/local/bin/
# 卸载目标(可选)
uninstall:
rm -f /usr/local/bin/$(TARGET)
练习3:
- 找到尽可能多的方法使
ex3崩溃。 - 执行
man 3 printf来阅读其它可用的'%'格式化占位符。如果你在其它语言中使用过它们,应该看着非常熟悉(它们来源于printf)。 - 将
ex3添加到你的Makefile的all列表中。到目前为止,可以使用make clean all来构建你所有的练习。 - 将
ex3添加到你的Makefile的clean列表中。当你需要的时候使用make clean可以删除它。
1、略
2、略
3、


















