YSYX学习记录(八)
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、