首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Linux 下升級 GCC 4.8 支援 C++11 標準完整指南

     編輯:關於C++

CentOS 6.4 系統預設 GCC 4.4.7 不完全支援 C++11,本文記錄從源碼編譯安裝 GCC 4.8.2 的完整流程。

環境信息

  • 系統:CentOS 6.4 Desktop 64bit
  • 原版本:GCC 4.4.7
  • 目標版本:GCC 4.8.2

編譯安裝步驟

  1. 下載源碼:
    wget https://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz
  2. 解壓並下載依賴:
    tar -xf gcc-4.8.2.tar.gz
    cd gcc-4.8.2 && ./contrib/download_prerequisites
    (自動下載 GMP、MPFR、MPC 等依賴庫)
  3. 創建構建目錄並配置:
    mkdir gcc-build-4.8.2 && cd gcc-build-4.8.2
    ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
  4. 編譯(耗時較長):
    make
  5. 安裝:
    make install
  6. 驗證版本:
    gcc -v 或 /usr/local/bin/gcc -v
    應顯示 gcc version 4.8.2

GCC版本驗證

C++11 功能測試

// stdarray.cpp
#include <iostream>
#include <string>
#include <iterator>
#include <algorithm>
#include <array>

int main() {
    std::array<int, 3> a1{{1,2,3}};
    std::array<int, 3> a2 = {1, 2, 3};
    std::array<std::string, 2> a3 = {{std::string("a"), "b"}};

    std::sort(a1.begin(), a1.end());
    std::reverse_copy(a2.begin(), a2.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << '\n';

    for (auto& s : a3) std::cout << s << ' ';
    std::cout << '\n';
    return 0;
}

編譯運行:

g++ -std=c++11 -o stdarray stdarray.cpp
./stdarray

運行結果

輸出正常說明 GCC 4.8.2 完整支援 C++11 新特性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved