📜  用g ++编译

📅  最后修改于: 2021-05-25 21:45:00             🧑  作者: Mango

g ++命令是GNU C++编译器调用命令,用于对源代码进行预处理,编译,汇编和链接以生成可执行文件。 g ++命令的不同“选项”使我们可以在中间阶段停止此过程。

  • 检查g ++编译器版本信息:
g++ --version

  • 编译CPP文件以生成可执行目标文件: g ++ file_name命令用于编译和创建可执行文件a.out (默认目标名称)。
    示例:给出了一个简单的程序,可以在标准输出上以文件名hello.cpp打印“ Hello Geek”
CPP
// hello.cpp file
#include 
int main()
{
    std::cout << "Hello Geek\n";
    return 0;
}


CPP
// hello.cpp file
#include "helloWorld.h"
#include 
int main()
{
    std::cout << "Hello Geek\n";
    helloWorld();
    return 0;
}


CPP
// helloWorld.cpp file
#include 
void helloWorld()
{
    std::cout << "Hello World\n";
}


CPP
// helloWorld.h file
void helloWorld();


CPP
// hello.cpp file
#include 
int main()
{
    int i;
    std::cout << "Hello Geek\n";
    return 0;
}


g++ hello.cpp

这将编译并链接hello.cpp以在当前工作目录中生成默认的目标可执行文件a.out。要运行此程序,请键入./a.out ,其中./代表当前的工作目录,而a.out是可执行目标文件。

./a.out

  • g ++ -S file_name仅用于编译file_name而不用于汇编或链接。它将生成一个file_name.s程序集源文件。
    例子:
g++ -S hello.cpp

  • g ++ -c file_name仅用于编译和汇编file_name而不链接目标代码以生成可执行文件。它将在当前工作目录中生成一个file_name.o目标代码文件。
    例子:
g++ -c hello.cpp

  • g ++ -o target_name file_name:编译并链接file_name并生成带有target_name (或默认为a.out)的可执行目标文件。
    例子:
g++ -o main.exe hello.cpp

  • 编译并链接多个文件:当使用-c标志时,它将调用将源代码转换为目标代码的编译器阶段;当使用-o标志时,它将链接目标代码以将可执行文件从file_name.o创建到a.out(默认值) ,则可以将多个文件作为参数一起传递。
    例子:

CPP

// hello.cpp file
#include "helloWorld.h"
#include 
int main()
{
    std::cout << "Hello Geek\n";
    helloWorld();
    return 0;
}

CPP

// helloWorld.cpp file
#include 
void helloWorld()
{
    std::cout << "Hello World\n";
}

CPP

// helloWorld.h file
void helloWorld();
g++ -c helloWorld.cpp hello.cpp
  • 它为文件helloWorld.cpp和hello.cpp编译并创建目标代码,分别为helloWorld.o和hello.o。
g++ -o main.exe helloWorld.o hello.o
  • 它将目标代码helloWorld.o和hello.o链接在一起,以创建可执行文件main.exe。
./main.exe
  • 它运行可执行文件main.exe

  • g ++ -Wall file_name:它将打印在file_name编译期间生成的所有警告消息。
    例子:

CPP

// hello.cpp file
#include 
int main()
{
    int i;
    std::cout << "Hello Geek\n";
    return 0;
}
g++ -Wall hello.cpp
  • C++文件的文件扩展名可以是.cpp或.C++ ,. cpp被广泛使用,但是.cpp和.C++完全相同,并且上述所有功能对于.C++都是相同的


要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”