此处运行环境是在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’后可执行程序将会包含调试信息

命令行运行 mnv java 命令行运行c++文件_文件名

此时,通过编译之后,会自动生成一个a.exe的可执行文件(Windows下会默认生成a.exe,Linux下默认生成a.out)

直接输入a.exe并回车,即可执行由HelloWorld.cpp编译链接生成的程序(Linux下,则使用 ./a.out 运行)

命令行运行 mnv java 命令行运行c++文件_#include_02

 想为生成的.exe文件指定名称 则

使用g++ -o 文件名 文件名.cpp (g++ -o 文件名.exe 文件名.cpp)进行编译。(此时的编译过程包括了预处理、编译、汇编、链接过程)

命令行运行 mnv java 命令行运行c++文件_#include_03

也可以在编译的同时 在后面添上 “-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"

命令行运行 mnv java 命令行运行c++文件_命令行运行 mnv java_04

注意,由于在程序预处理阶段,GCC 编译器会自行处理各个 .c/.c++ 文件内部引入的 .h 头文件(将 .h 文件中的代码直接拷贝到当前 .c 源文件中),因此编译运行项目时,我们只需要提供所有的源文件即可,不需要处理头文件。

关于.o文件

当我们用IDE集成环境一键编译运行的时候,会出现 *.o文件,而此时用命令行编译运行没有生成 *.o文件,如果你想要 *.o 文件,那么你就需要在编译的时候添加一个 -c选项,这样就会只生成一个 *.o文件, *.o文件可以抽取出来,做成库文件

命令行运行 mnv java 命令行运行c++文件_#include_05