ubuntu下c编程
c编程中相关文件后缀
.a 静态库(archive
.c C源代码(需要编译预处理)
.h C源代码头文件
.i C源代码 (不需要编译预处理)
.o 对象文件
.s 汇编语言代码
.so 动态库
单个源文件生成可执行程序
下面是一个简单的“hello world"程序的源代码:
/* helloworld.c*/
#include <stdio.h>
int main(int argc,char *argv[])
{
printf("hello, world\n");
return 0;
}
最简单的编译该代码为可执行程序的方法是,将该代码保存为文件hello world.c,并执行以下命令:
$ gcc -Wall helloworld.c
编译期通过检查命令行中指定的文件的后缀名可识别其为C源代码文件。GCC默认的动作:编译源代码文件生成对象文件(object file),链接对象文件得到可执行程序,删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的a.out。在命令行中输入程序名可使其执行并显示结果:
$ ./a.out
hello,world
选项-o 用来指定生成的可执行程序的文件名。下面的命令生成名为helloworld的可执行程序:
$ gcc -Wall helloworld.c -o helloworld
在命令行中输入程序名将使其执行,如下:
$./helloworld
hello,world
源文件生成对象文件
选项-c指示GCC编译源代码文件,但将对象文件保留在磁盘中并跳过链接对象文件生成可执行文件这一步。在这种情况下,默认的输出文件的文件名同源代码文件名一致,只不过后缀为.o。例如:
$ gcc -c -Wall helloworld.c
选项-o可用来指定生成的文件的文件名。以下命令将产生名为kubuntu.o的对象文件:
$ gcc -c -Wall helloworld.c -o kubuntu.o
当构建对象库或者生成一系列对象文件以备稍后链接用时,一条命令即可从多个源码文件生成对应的对象文件。下面的命令将生成对象文件ubuntu.o,kubuntu.o和xubuntu.o:
$ gcc -c -Wall ubuntu.c kubuntu.c xubuntu.c
注意:(1)要养成良好的编程习惯,这是一份需要细心的工作
(2)输入源代码要注意全半角,编译的时候容易出现问题
(3)虚心学习
参考 小和尚真情无限的网易博客