原文:Exercise 1: Dust Off That Compiler
这是你用C写的第一个简单的程序:
int main(int argc, char *argv[]) { puts("Hello world."); return 0; }
把它写进 ex1.c 并输入:
ex1.c
$ make ex1 cc ex1.c -o ex1
你的编译器可能会使用一个有些不同的命令,但是最后应该会产生一个名为ex1的文件,并且你可以运行它。
ex1
现在你可以运行程序并看到输出。
$ ./ex1 Hello world.
如果没有,则需要返回去修复它。
在这本书中我会添加一个小节,关于如何使程序崩溃。我会让你对程序做一些奇怪的事情,以奇怪的方式运行,或者修改代码,以便让你看到崩溃和编译器错误。
对于这个程序,打开所有编译警告重新构建它:
$ rm ex1 $ CFLAGS="-Wall" make ex1 cc -Wall ex1.c -o ex1 ex1.c: In function 'main': ex1.c:3: warning: implicit declaration of function 'puts' $ ./ex1 Hello world. $
现在你会得到一个警告,说puts函数是隐式声明的。C语言的编译器很智能,它能够理解你想要什么。但是如果可以的话,你应该去除所有编译器警告。把下面一行添加到ex1.c文件的最上面,之后重新编译来去除它:
puts
#include <stdio.h>
现在像刚才一样重新执行make命令,你会看到所有警告都消失了。
"Hello world."
man 3 puts
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8