欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來(lái)到云服務(wù)器

系統(tǒng)配置

CentOS 7系統(tǒng)搭建GCC 4.8.2 32位編譯情況

centos 7 結(jié)構(gòu)gcc 32位編譯情況

1引言

1.1配景
進(jìn)修新的 C++ 2011和C11尺度。

1.2利用軟件
CentOS 7(Linux version 3.10.0-123.el7.x86_64)
gcc version 4.8.2 20140120 (Red Hat 4.8.2-16)

1.3本次設(shè)置
32位gcc 開(kāi)拓情況。
因?yàn)?RHEL 7(紅帽企業(yè)版 linux 7)已經(jīng)不再提供32位版本,新加坡電信服務(wù)器 馬來(lái)西亞服務(wù)器,短期內(nèi) CentOS 7也不會(huì)提供32位的版本,故為了思量進(jìn)級(jí)和研究可用的操縱系統(tǒng),對(duì)開(kāi)放情況舉辦設(shè)置。
64位版本的CentOS 7今朝只提供了GCC 4.8.2 64位版本,默認(rèn)不安裝 GLIBC(version 2.17) 32位版本。

1.4目標(biāo)
結(jié)構(gòu)CentOs 64位版本下的 GCC 4.8.2 支持編譯和運(yùn)行32位措施,新尺度編譯情況。

2安裝步調(diào)
2.1安裝GLIBC(32位)
安裝 GLIBC 32位版本。
yum --disablerepo=* --enablerepo=c6-media install glibc-2.17-55.el7.i686

2.2安裝 gcc 4.8.2
安裝完整的 gcc 4.8.2。
2.3拷貝運(yùn)行庫(kù)libgcc_s.so
假設(shè) GCC 4.8.2 安裝到/usr/local/gcc-4.8.2。需要把32位版本的libgcc_s.so拷貝到32位庫(kù)
/lib 下面。
cp /usr/local/gcc-4.8.2/lib/libgcc* /lib

2.4驗(yàn)證安裝(C11)
[[email protected] src]# cat aa.c

#include <stdio.h>
#include <pthread.h>

//gcc -m32 -g -std=c11 aa.c -o aa -lpthread;./aa

void * f(void *data)
{
        //char buff[10];
        //char * p = 0;
        //memcpy(buff,"ddddddddddddddd",20);
        //memcpy(p,"sss",10);
        //p[0] = 'd';
        printf("centos 7,gcc 4.8.2 C11 test ok.n");
        return 0;
}

int main(int argc,char * argv[])
{
        pthread_t t;
        pthread_create(&t,0,f,0);
        pthread_join(t,0);
        return 0;
}

gcc -m32 -g -std=c11 aa.c -o aa -lpthread;./aa;ldd aa
centos 7,gcc 4.8.2 C11 test ok.
        linux-gate.so.1 =>  (0xf77bb000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xf7799000)
        libc.so.6 => /lib/libc.so.6 (0xf75db000)

        /lib/ld-linux.so.2 (0xf77bc000)

實(shí)際上,看到編譯出來(lái)的措施,并不需要鏈接libgcc_s.so.*,而只需要 GLBC 的運(yùn)行庫(kù),從ldd 查察應(yīng)用措施鏈接的動(dòng)態(tài)庫(kù)可以明晰看出來(lái)。應(yīng)該是 GCC 需要上訴庫(kù),實(shí)際上是GCC套件的ld措施需要libgcc_s.so*庫(kù)文件。


2.5驗(yàn)證安裝(C++ 2011)
[[email protected] src]# cat aa.cpp  

#include <stdio.h>
#include <thread>
#include <functional>
#include <algorithm>
using namespace std::placeholders;
using namespace std;

//g++ -std=c++11 -g aa.cpp -o aa -lpthread;./aa

void * f(void *data)
{
        printf("centos 7,gcc 4.8.2 c++ 2011 test ok.n");
        return 0;
}

int main(int argc,char * argv[])
{
        void *p;
        //std::function<void * (void *)> pf = std::bind(f,nullptr);
        auto pf = std::bind(f,nullptr);
        std::thread t(pf);
        //t.start();
        t.join();
        return 0;
}

[[email protected] src]# g++ -std=c++11 -g aa.cpp -o aa -lpthread;./aa;ldd aa
centos 7,gcc 4.8.2 c++ 2011 test ok.
        linux-vdso.so.1 =>  (0x00007fffe7d6c000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd40dd34000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fd40da2d000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fd40d72a000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd40d514000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd40d153000)

        /lib64/ld-linux-x86-64.so.2 (0x00007fd40df58000)



騰訊云代理

Copyright © 2003-2021 MFISP.COM. 國(guó)外vps服務(wù)器租用 夢(mèng)飛云服務(wù)器租用 版權(quán)所有 ? 粵ICP備11019662號(hào)

主站蜘蛛池模板: 砀山县| 宜都市| 正定县| 桐柏县| 清苑县| 昭平县| 德化县| 林口县| 双峰县| 邵武市| 安福县| 和龙市| 江城| 贡嘎县| 繁昌县| 略阳县| 冷水江市| 库尔勒市| 陇西县| 荆州市| 关岭| 乌审旗| 蒲江县| 翼城县| 日喀则市| 将乐县| 荆门市| 睢宁县| 潜江市| 合作市| 丹凤县| 邢台市| 五台县| 洪洞县| 潼关县| 西昌市| 化州市| 崇阳县| 元阳县| 罗定市| 射阳县|