首先要保证系统中安装了C语言和C++对应的编译器:gcc -> C ,g++ -> C++
1、.c文件的编译与运行
(1).c文件hello.c代码如下:#include
int main()
{
printf("Hello world !\n");
return 0;
}
在当前路径下编译.c文件:
gcc -o hello hello.c
编译完成后可以看到在和hello.c相同目录下有一个hello的可执行文件。
在当前路径下运行编译后的可执行文件:
./hello
(注意一定要加上路径才能运行,点表示当前路径。直接hello不添加路径,不能运行)
(2)gcc指令举例
gcc hello.c 会默认生成一个a.out的可执行文件
gcc hello.c -o 会产生一个 hello 可执行文件
gcc hello.c -o myhello 会产生一个 myhello 可执行文件
(3)gcc的详细过程
详细过程可以分为四步:可以手动进行这四个步骤:
第一步:预处理。#号开头的代码全被解决掉(预编译,包含库,宏定义等等),产生一个后缀.i的文件以便下一步使用。
gcc -E hello.c (不会产生.i文件,文件内内容打印在了终端,所以需要将这些信息重定向到.i文件)
gcc -E hello.c >> hello.i
第二步:编译。这一步主要检查语法错误。产生一个后缀.s的文件(汇编文件)
gcc -S hello.i (大写字母S)
第三步:汇编。产生后缀.o的object目标文件,二进制,但不可以运行,因为缺少库信息
gcc -c hello.s
第四步:链接。添加库信息,产生一个后缀.o的可执行文件
gcc hello.o -o hello
2、.cpp文件的编译与运行
.cpp文件hello.cpp代码如下:
#include
using namespace std;
int main()
{
cout << "Hello world !" << endl;
return 0;
}
在当前路径下编译.cpp文件:
g++ -o hello hello.cpp
编译完成后可以看到在和hello.cpp相同目录下有一个hello的可执行文件。
在当前路径下运行编译后的可执行文件:
./hello(注意一定要加上路径才能运行,点表示当前路径。直接hello不添加路径,不能运行)