最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++代碼和可執(zhí)行程序在x86和arm上的區(qū)別介紹

 更新時(shí)間:2022年07月18日 11:28:29   作者:zhangrelay  
這篇文章主要介紹了C++代碼和可執(zhí)行程序在x86和arm上的區(qū)別,X86和ARM是占據(jù)CPU市場(chǎng)的兩大處理器,各有優(yōu)劣,本文給大家詳細(xì)介紹了兩者的區(qū)別,需要的朋友可以參考下

從使用上來(lái)看,可執(zhí)行程序肯定是不通用的。

armx86

生成的可執(zhí)行程序大小都有差異呢。 

但是,如果源碼編譯,如果環(huán)境類似,相同的源碼可以直接移植。

例如:如下程序??donut.cpp

#include <stdio.h>
#include <math.h>
#include <cstring>
#include <unistd.h>
 
int main() {
    float A = 0, B = 0;
    float i, j;
    int k;
    float z[1760];
    char b[1760];
    printf("\x1b[2J");
    for (;;) {
        memset(b, 32, 1760);
        memset(z, 0, 7040);
        for (j = 0; j < 6.28; j += 0.07) {
            for (i = 0; i < 6.28; i += 0.02) {
                float c = sin(i);
                float d = cos(j);
                float e = sin(A);
                float f = sin(j);
                float g = cos(A);
                float h = d + 2;
                float D = 1 / (c * h * e + f * g + 5);
                float l = cos(i);
                float m = cos(B);
                float n = sin(B);
                float t = c * h * g - f * e;
                int x = 40 + 30 * D * (l * h * m - t * n);
                int y = 12 + 15 * D * (l * h * n + t * m);
                int o = x + 80 * y;
                int N = 8 * ((f * e - c * d * g) * m - c * d * e - f * g - l * d * n);
                if (22 > y && y > 0 && x > 0 && 80 > x && D > z[o]) {
                    z[o] = D;
                    b[o] = ".,-~:;=!*#$@"[N > 0 ? N : 0];
                }
            }
        }
        printf("\x1b[H");
        for (k = 0; k < 1761; k++) {
            putchar(k % 80 ? b[k] : 10);
            A += 0.00004;
            B += 0.00002;
        }
        usleep(30000);
    }
    return 0;
}

效果一致。 

編譯過(guò)程都是:

g++ donut.cpp -o donut

生成文件大?。?/p>

arm→13.5 KB (13,856.00 字節(jié))

x86→ 16.0 KB (16,384 字節(jié))

很多軟件都支持多平臺(tái),但是類似如下:

這些都是x86案例,并不支持arm。

支持arm會(huì)單獨(dú)列出來(lái)。 

ARM 與 X86 的概述

X86 指 Intel 處理器家族,從 8086 開(kāi)始,隨后發(fā)布 80186、80286、80386、80486、Pentium 和 Xeon 等。X86 中的 86 表示其早期處理器的最后 2 位數(shù)字。

ARM 最初由 ARM Holdings 以 Acorn RISC Machine 起家,開(kāi)發(fā)了 ARM、ARM2 32 位處理器,其晶體管數(shù)量最少,功耗/散熱更低。 X86 主導(dǎo)臺(tái)式機(jī)、工作站、筆記本電腦和服務(wù)器市場(chǎng),最初的芯片是 16 位,后來(lái)的版本是 32 位和 64 位。

ARM 在速度和長(zhǎng)電池壽命方面超過(guò)了英特爾處理器。 與 Apple 和 VLSI 合作推出了一家新公司 Advanced RISC Machines。 ARM 處理器廣泛用于移動(dòng)設(shè)備。

X86和ARM是占據(jù)CPU市場(chǎng)的兩大處理器,各有優(yōu)劣。

它們可以在某些關(guān)鍵方面進(jìn)行比較,例如它們采用的指令集、功耗、軟件和應(yīng)用程序。

指令系統(tǒng)

ARM 處理器屬于精簡(jiǎn)指令集計(jì)算 (RISC) 架構(gòu)。
指令集架構(gòu) (ISA) 定義了處理指令、訪問(wèn)內(nèi)存、管理 IO 的方式,并將處理器與程序員連接起來(lái)以生成高效的代碼。
RISC 是同類中最新的一種,其中活動(dòng)被拆分(簡(jiǎn)化)為簡(jiǎn)單指令,一條指令在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行,數(shù)百萬(wàn)條此類指令在一秒鐘內(nèi)以更快的速度處理。
雖然它必須執(zhí)行多條指令,但由于其強(qiáng)大的處理器和流水線,整體速度更高。

X86 處理器遵循復(fù)雜指令集計(jì)算 (CISC) 架構(gòu)。
復(fù)雜的指令在多個(gè)時(shí)鐘周期中的單個(gè)步驟中處理。它使用可用內(nèi)存在一個(gè)步驟中處理多條指令,更注重處理效率。
它使用更多的寄存器來(lái)完成多個(gè)任務(wù),實(shí)現(xiàn)了高吞吐量和性能。

能量消耗

ARM 處理器一次執(zhí)行一條指令,它需要較少的硬件。與其他處理器相比,該處理器使用的寄存器沒(méi)有更少。因此,它消耗的電量更少,使用該處理器的設(shè)備的電池壽命更長(zhǎng)。它還產(chǎn)生較少的熱量。 ARM 使用更多內(nèi)存來(lái)處理多條指令。即使使用 GPU 和其他外圍設(shè)備,它也會(huì)消耗 5W 的功率。

X86 處理器更注重性能和高吞吐量,它使用更多的寄存器來(lái)實(shí)現(xiàn)它。因此,這里的功耗和熱量產(chǎn)生更多。 Intel i7 是一款高端處理器,功耗為 130w。
ARM 處理器因其較低的功耗和較長(zhǎng)的電池壽命而成為移動(dòng)設(shè)備的首選,這對(duì)于為任何應(yīng)用程序選擇 CPU 至關(guān)重要。
始終連接到可靠電源的設(shè)備無(wú)需擔(dān)心功耗,因此臺(tái)式機(jī)、筆記本電腦和服務(wù)器使用 X86 以提高效率,但代價(jià)是高功耗。

軟件

配備 ARM Process 的設(shè)備可在專為 ARM 開(kāi)發(fā)的 Android 操作系統(tǒng)上運(yùn)行。臺(tái)式機(jī)、筆記本電腦和服務(wù)器在為 X86 處理器開(kāi)發(fā)的 Unix、Linux 和 Windows 等操作系統(tǒng)上運(yùn)行。
一些接口軟件允許任何操作系統(tǒng)在任何設(shè)備上運(yùn)行,但基于 ARM 的系統(tǒng)在為 X86 開(kāi)發(fā)的某些操作系統(tǒng)中運(yùn)行存在限制。
由于 ARM 的流行,微軟發(fā)布了新版本的 windows for ARM。

應(yīng)用

處理器的選擇取決于計(jì)算機(jī)將用于的應(yīng)用程序。對(duì)于 IOT 應(yīng)用,ARM 處理器是正確的選擇,因?yàn)榍度胧较到y(tǒng)需要連接到所有設(shè)備,而且它應(yīng)該有點(diǎn)小。
如果某些應(yīng)用需要具有成本節(jié)約動(dòng)機(jī)的單板計(jì)算機(jī),ARM 是最佳選擇。對(duì)于不需要特殊顯示器的節(jié)儉應(yīng)用,ARM 是理想的選擇。需要強(qiáng)大平臺(tái) X86 的應(yīng)用程序是正確的選擇。

到此這篇關(guān)于C++代碼和可執(zhí)行程序在x86和arm上的區(qū)別的文章就介紹到這了,更多相關(guān)C++ x86和arm區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++開(kāi)發(fā)截屏小程序功能

    C++開(kāi)發(fā)截屏小程序功能

    這篇文章主要介紹了C++開(kāi)發(fā)截屏小程序功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • C++語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)五子棋

    C++語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)五子棋

    這篇文章主要為大家詳細(xì)介紹了C++語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)五子棋,包括數(shù)據(jù)結(jié)構(gòu)和對(duì)象設(shè)計(jì)及主函數(shù)調(diào)用實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • VS2022設(shè)置編碼方式為utf-8的三種方式小結(jié)

    VS2022設(shè)置編碼方式為utf-8的三種方式小結(jié)

    本文主要介紹了VS2022設(shè)置編碼方式為utf-8的三種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • 深入理解c++指針的指針和指針的引用

    深入理解c++指針的指針和指針的引用

    下面小編就為大家?guī)?lái)一篇深入理解c++指針的指針和指針的引用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • C++如何在變量前面加#

    C++如何在變量前面加#

    這篇文章主要介紹了C++如何在變量前面加#問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 詳解C++?OpenCV實(shí)現(xiàn)圖像拼接的原理及方法

    詳解C++?OpenCV實(shí)現(xiàn)圖像拼接的原理及方法

    本文以實(shí)現(xiàn)圖像拼接為目標(biāo),把分割開(kāi)的圖像進(jìn)行拼接還原,核心的內(nèi)容包括:OpenCV圖像拼接相關(guān)原理以及OpenCV圖像拼接案例的實(shí)現(xiàn),感興趣的可以了解一下
    2022-07-07
  • C++實(shí)現(xiàn)判斷字符串是否回文實(shí)例解析

    C++實(shí)現(xiàn)判斷字符串是否回文實(shí)例解析

    這篇文章主要介紹了C++實(shí)現(xiàn)判斷字符串是否回文,其中采用了數(shù)據(jù)結(jié)構(gòu)中棧以及過(guò)濾字符等技術(shù),,需要的朋友可以參考下
    2014-07-07
  • C++實(shí)現(xiàn)LeetCode(147.鏈表插入排序)

    C++實(shí)現(xiàn)LeetCode(147.鏈表插入排序)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(147.鏈表插入排序),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • MFC自定義消息的實(shí)現(xiàn)方法

    MFC自定義消息的實(shí)現(xiàn)方法

    這篇文章主要介紹了MFC自定義消息的實(shí)現(xiàn)方法,通過(guò)該示例可以更好的理解MFC的消息封裝機(jī)制,以便更加靈活的打造個(gè)性化的windows應(yīng)用程序,需要的朋友可以參考下
    2014-07-07
  • 線段樹(shù)詳解以及C++實(shí)現(xiàn)代碼

    線段樹(shù)詳解以及C++實(shí)現(xiàn)代碼

    線段樹(shù)在一些acm題目中經(jīng)常見(jiàn)到,這種數(shù)據(jù)結(jié)構(gòu)主要應(yīng)用在計(jì)算幾何和地理信息系統(tǒng)中,這篇文章主要給大家介紹了關(guān)于線段樹(shù)以及C++實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

图片| 建宁县| 阳原县| 绥宁县| 滕州市| 庆云县| 绥化市| 准格尔旗| 榆树市| 交城县| 昌吉市| 微山县| 神池县| 湖北省| 合山市| 扎兰屯市| 合肥市| 竹山县| 长岛县| 新干县| 滨州市| 普宁市| 治多县| 沈阳市| 大庆市| 华池县| 浪卡子县| 临颍县| 上饶县| 齐齐哈尔市| 芜湖市| 探索| 西吉县| 南溪县| 乌兰察布市| 巴彦县| 三亚市| 东平县| 炉霍县| 克什克腾旗| 宜宾县|