最近使用C接口对数据库进行插入操作。突然使用到C语言,大学忘得差不多了,捡起来啃啃:
开始看UNIX环境高级编程。
学会了用gcc编译hello world程序。。惭愧。。。
Fedora 15在安装好之后已经自带了最新的gcc编译器,这可以通过命令:$ gcc -v来显示。
结果:gcc 版本 4.6.0 20110530 (Red Hat 4.6.0-9) (GCC)。当然上面还有一些配置语句,这里就不管它了。
在主文件夹下新建一个hello.c文本文档,里面写上可以倒背如流的hello world:
#include<stdio.h>
int main()
{
printf("Hello World!\n");
}
将源文件保存为hello.c,开始进行编译:在终端输入:gcc hello.c,这时候在当前目录下生成一个a.out文件。
终端内输入:./a.out(斜杠前面有一点,只输入a.out是不能运行的),hello world就成功打印出来了。
说明:在默认情况下,编译成功完成后,会在当前路径下,生成一个名为a.out的文件,然后执行$./a.out便可打印结果,但通常可以通过选项-o来指定自己的可执行程序名称;
所以一般采用下列方式:
将源文件保存为hello.c,开始进行编译
$gcc -o hello hello.c
编译成功完成后,在当前路径下,生成一个名为hello的文件,然后执行
$./hello
在屏幕上,你将会看到打印结果:Hello,Linux.
这里会产生一个问题, 当你编译另外一个C程序时,会生成一个新的a.out,这将覆盖前面产生的文件。
面对这种情况,我们有一种办法可以避免它。
我们用 gcc -o hello hello.c来代替前面的gcc hello.c,这时候产生的文件就是hello,然后./hello,同样可以达到目的。当然,大家可以随便起一个自己喜欢的名字。