日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

linux g++ gcc编译c++哪个好,linux g++编译c++

發(fā)布時(shí)間:2025/3/20 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux g++ gcc编译c++哪个好,linux g++编译c++ 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

單個(gè)源文件生成可執(zhí)行程序

編譯器 g++ 通過(guò)檢查命令行中指定的文件的后綴名可識(shí)別其為 C++ 源代碼文件。編譯器默認(rèn)的動(dòng)作:編譯源代碼文件生成對(duì)象文件(object file),鏈接對(duì)象文件和 libstdc++ 庫(kù)中的函數(shù)得到可執(zhí)行程序。然后刪除對(duì)象文件。由于命令行中未指定可執(zhí)行程序的文件名,編譯器采用默認(rèn)的 a.out。程序可以這樣來(lái)運(yùn)行:

g++ helloworld.cpp

./a.out

通過(guò)-o選項(xiàng)指定可執(zhí)行程序文件名

g++ helloworld.cpp -o helloworld

./helloworld.

程序 g++ 是將 gcc 默認(rèn)語(yǔ)言設(shè)為 C++ 的一個(gè)特殊的版本,鏈接時(shí)它自動(dòng)使用 C++ 標(biāo)準(zhǔn)庫(kù)而不用 C 標(biāo)準(zhǔn)庫(kù)。通過(guò)遵循源碼的命名規(guī)范并指定對(duì)應(yīng)庫(kù)的名字,用 gcc 來(lái)編譯鏈接 C++ 程序是可行的,如下例所示:

gcc helloworld,cpp -lstdc++ -o helloworld

選項(xiàng) -l (ell) 通過(guò)添加前綴 lib 和后綴 .a 將跟隨它的名字變換為庫(kù)的名字 libstdc++.a。而后它在標(biāo)準(zhǔn)庫(kù)路徑中查找該庫(kù)。gcc 的編譯過(guò)程和輸出文件與 g++ 是完全相同的。

在大多數(shù)系統(tǒng)中,GCC 安裝時(shí)會(huì)安裝一名為 c++ 的程序。如果被安裝,它和 g++ 是等同,如下例所示,用法也一致:

c++ helloworld.cpp -o helloworld

多個(gè)源文件生成可執(zhí)行程序

/* speak.h */

#include

class Speak

{

public:

void sayHello(const char *);

};

/* speak.cpp */

#include "speak.h"

void Speak::sayHello(const char *str)

{

std::cout << "Hello " << str << "\n";

}

/* hellospeak.cpp */

#include "speak.h"

int main(int argc,char *argv[])

{

Speak speak;

speak.sayHello("world");

return(0);

}

g++ hellospeak.cpp speak.cpp -o hellospeak

PS:這里說(shuō)一下為什么在命令中沒(méi)有提到“speak.h“該文件(原因是:在“speak.cpp“中包含有”#include”speak.h”“這句代碼,它的意思是搜索系統(tǒng)頭文件目錄之前將先在當(dāng)前目錄中搜索文件“speak.h“。而”speak.h“正在該目錄中,不用再在命令中指定了)。

總結(jié)

以上是生活随笔為你收集整理的linux g++ gcc编译c++哪个好,linux g++编译c++的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。