zh.wikipedia.org/wiki/GCC 维基百科词条
gcc.gnu.org/ GCC 官网
GCC 是什么?!一些刚接触 Linux 的童鞋,不知道如何去编译一个 C 源文件 。
好吧,我告诉你,在终端用 gcc 命令。
一个简单的让 test.c 生成可执行文件的命令
//filename test.c
#include<stdio.h>
int main()
{
printf("Hello World!
");
return 0;
}
gcc test.c
没有指定可执行文件名 (通过 -o 选项指定),默认生成 a.out
在来执行下
./a.out
输出:
还想知道更多?来
man gcc
额,先讲到这,,我要上课去了。。
--------------------------- 我接着讲 ---------------------------------------
一般我是用下面这个命令编译的。
$ gcc -g -Wall test.c -lm -o test
为什么?选项 “”-g”" 表示在生成的目标文件中带调试信息,调试信息可以在程序异常中止产生 core 后,
帮助分析错误产生的源头,包括产生错误的文件名和行号等非常多有用的信息。
选项 -Wall 开启编译器几乎所有常用的警告。
:: 注意如果有用到 math.h 库等非 gcc 默认调用的标准库,请使用 -lm 参数
如何编译多个文件?
现在将程序 test 分割成 3 个文件:“test1.c”,“test2.c” 和头文件"hello.h"
首先是头文件"hello.h"
//filename hello.h
void hello (const char * name);
然后是主程序“test1.c”
//filename tets1.c
#include "hello.h"
int main()
{
hello("Hello,World");
return 0;
}
最后是 test2.c
//filename test2.c
#include <stdio.h>
#include "hello.h"
void hello (const char * str)
{
printf ("%s!
", str);
}
接着就是编译了啊。
gcc -g -Wall test1.c test2.c -o test
想编译 c++ 源文件?
就用 g++ 命令吧
g++ -g -Wall test.cpp -o test
OK,暂时就到这吧。。。