日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

    歡迎訪問 生活随笔!

    生活随笔

    當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

    生活经验

    C++ 笔记(01)— 环境设置(安装g++、g++ 编译 C++、 生成可执行文件流程、解释器与编译器区别)

    發布時間:2023/11/27 生活经验 43 豆豆
    生活随笔 收集整理的這篇文章主要介紹了 C++ 笔记(01)— 环境设置(安装g++、g++ 编译 C++、 生成可执行文件流程、解释器与编译器区别) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

    1. g++安裝

    Linux 或者 UNIX 系統上,可以通過下面命令來查看是否安裝了 GCC

    $ g++ -v
    

    如果已經安裝 GNU 編譯器,則有以下輸出:

    wohu@wohu:~/C++$ g++ -v
    Using built-in specs.
    COLLECT_GCC=g++
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
    Target: x86_64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.10' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
    Thread model: posix
    gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 
    wohu@wohu:~/C++$ 
    

    如果沒有安裝,在 Ubuntu 系統下使用 apt 命令可以直接安裝:

    $ sudo apt-get install g++
    

    2. g++使用

    2.1 g++ 編譯 C++

    程序 g++ 是將 gcc 默認語言設為 C++ 的一個特殊的版本,鏈接時它自動使用 C++ 標準庫而不用 C 標準庫。

    下面是一個保存在文件 main.cpp 中一個簡單的 C++ 程序的代碼:

    #include <iostream>
    using namespace std;
    int main()
    {cout << "Hello, world!" << endl;return 0;
    }
    

    最簡單的編譯方式:

    $ g++ main.cpp
    

    由于命令行中未指定可執行程序的文件名,編譯器采用默認的 a.out 。程序可以這樣來運行:

    $ ./a.out
    Hello, world!
    

    通常我們使用 -o 選項指定可執行程序的文件名,以下實例生成一個 main 的可執行文件:

    $ g++ main.cpp -o main
    

    執行 main 應用程序

    $ ./main
    Hello, world!
    

    2.2 gcc 編譯 C++

    通過遵循源碼的命名規范并指定對應庫的名字,用 gcc 來編譯鏈接 C++ 程序是可行的,使用下面命令:

    $ gcc main.cpp -lstdc++ -o main
    

    3. 生成可執行文件流程

    1. 使用編輯器編寫 C++ 代碼;
    2. 使用 C++ 編譯器對代碼進行編譯,將代碼轉換為包含在目標文件中的機器語言版本;
    3. 使用鏈接器鏈接編譯器的輸出,生成一個可執行文件(如Windows 中的.exe 文件);


    在編譯過程中, C++ 代碼(通常包含在 .cpp 文本文件中)被轉換為處理器能夠執行的字節碼。編譯器每次轉換一個代碼文件,生成一個擴展名為 .o.obj 的目標文件,并忽略這個 cpp 文件可能對其他文件中代碼的依賴。

    解析這些依存關系的工作由鏈接程序負責,如果鏈接成功,則創建一個可執行文件,供程序員執行和分發。整個過程也被稱為構建可執行文件。

    總結整體過程為: 編寫 -> 編譯 -> 鏈接 -> 執行

    4. 解釋器與編譯器區別

    • 解釋器是一種對代碼(或字節碼)進行解釋并執行相應操作的工具;
    • 編譯器將代碼作為輸入,并生成目標文件;

    C++ 而言,編譯和鏈接后,將得到一個可執行文件,處理器可直接執行它,而無需做進一步解釋。

    編譯器將 C++ 代碼文件作為輸入,并生成一個使用機器語言的目標文件。通常,您的代碼依賴于庫和其他代碼文件中的函數。鏈接器負責建立這些鏈接,并生成一個可執行文件,它集成了您指定的所有直接或間接依存關系。

    總結

    以上是生活随笔為你收集整理的C++ 笔记(01)— 环境设置(安装g++、g++ 编译 C++、 生成可执行文件流程、解释器与编译器区别)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。