此处运行环境是在Windos下,运行cmd命令进入DOS界面,Linux中的运行过程有做说明.
首先,如果想在DOS窗口中进行C/C++代码的编译,则需要先配置gcc的环境变量
1、使用g++进行编译链接
Helloworld代码(HelloWorld.cpp)
#include <iostream>
using namespace std;
int main(){
cout << "HelloWorld!" << endl;
system("pause");
return 0;
}
在DOS界面中进入到该目录中 用g++/gcc + 文件名,注意文件名要写出扩展名
注意:
1. 如果是C++源代码(.cpp文件)使用g++命令;如果为C语言的源代码,即可使用g++,也可使用gcc。
2. 如果想要使用gdb调试,则可以是使用 g++ -g “文件名.cpp”。使用‘-g’后可执行程序将会包含调试信息
此时,通过编译之后,会自动生成一个a.exe的可执行文件(Windows下会默认生成a.exe,Linux下默认生成a.out)
直接输入a.exe并回车,即可执行由HelloWorld.cpp编译链接生成的程序(Linux下,则使用 ./a.out 运行)
想为生成的.exe文件指定名称 则
使用g++ -o 文件名 文件名.cpp (g++ -o 文件名.exe 文件名.cpp)进行编译。(此时的编译过程包括了预处理、编译、汇编、链接过程)
也可以在编译的同时 在后面添上 “-o 文件名”
g++ Hello World.cpp -o HelloWorld
同时编译多个 C/C++ 文件
function.cpp
内容
#include <iostream>
void greetings()
{
std::cout << "hello,world" << std::endl;
}
function.h
内容
void greetings();
main.cpp
内容
#include <iostream>
#include "function.h"
int main()
{
greetings();
return 0;
}
编 译
g++ main.cpp function.cpp -o main
利用"g++ 文件名.cpp"编译 如果提示需要c++11支持则使用"g++ -std=c++11 -o main 文件名.cpp"
注意,由于在程序预处理阶段,GCC
编译器会自行处理各个 .c/.c++
文件内部引入的 .h
头文件(将 .h
文件中的代码直接拷贝到当前 .c
源文件中),因此编译运行项目时,我们只需要提供所有的源文件即可,不需要处理头文件。
关于.o文件
当我们用IDE集成环境一键编译运行的时候,会出现 *.o文件,而此时用命令行编译运行没有生成 *.o文件,如果你想要 *.o 文件,那么你就需要在编译的时候添加一个 -c选项,这样就会只生成一个 *.o文件, *.o文件可以抽取出来,做成库文件