㈠ 是不是每種處理器都要開發自己的編譯器,比如inter的cpu,arm,51單片機等
每個處理器廠家都會開發本身的編譯器。這是硬體設計與系統工程師的工作。軟體編輯員一般都不需染手此東西。是否每個牌子的處理器都須有自己的編譯器呢?未必。
比如Intel,AMD,VIA 同是用x86平台都可享用Intel的編譯器。
又如Siemens, SGI,NEC 同出產MIPS平台的處理器都可享用MIPS 的編譯器。
但有些特別指令如INTEL的MMX,SSE1,2,3,4;AMD的3DNOW,AMD64 等就有勞個產家編寫。
如沒有特別指令編譯器, 軟體會出錯嗎?很多高檔程序編輯軟體都會翻譯及處理,用標准指令來取代特別指令(應該說不用特別指令),當然執行速度會慢過特別指令。
㈡ 不同編譯器為什麼對數據分配的存儲單元大小不同,分配的大小與程序運行有關嗎
額,不同的編譯器對同一種類型變數分配的存儲單元大小不同。。。不同就不同了。。。沒有為什麼。。。畢竟當初沒有統一的標准。不過都是微小的差別,影響不大。我們不需要知道為什麼不同,只要知道它們分配的確實不同就行了。
分配的大小與程序運行有關的。同樣是一個int型,在VC下被分配4位元組,在TC下被分配2位元組。實際程序運行的時候,也是前者吃掉4位元組的內存,後者吃掉2位元組的內存。
㈢ 每個編程語言都有不同的編譯器嗎
是的,在編程的世界裡面,對於每一種邊緣都需要使用不同的編譯器,因為他們的編碼的形式和規則都是不一樣的,希望可以幫到你
㈣ c++各種編譯器有什麼不同,應該不存在哪種編譯器最好的說法吧是不是只要學會用一種編譯器就可以了
gcc過去是指gnu組織的c語言編譯器,
現在gcc包括gcc命令在內都是gnu的各種語言的編譯器集。
在類linux環境輸入gcc可以指定編譯各種語言。c/c++,objc,ada,pascal,d,fortran等等
g++是專指gnu c++的編譯器,屬於gcc的一個編譯器。
而且要指出g++, dev c++, codeblocks, mingw,等等其實都是在用gcc編譯器中c/c++的部分。
各適合做什麼?
vc++在win下優勢最強,在x86指令下性能優化、標准支持是最好的之一,性能僅次於intel cc,但綜合性能最強。
borland c++,現在已經被c++ builder 2012取代了。這個版本的優勢也是同vc++類似,在win加x86的cpu下。特別之處是豐富的組件和快捷向導方案,自動生成代碼很多。做常用的網路、資料庫,桌面應用,很多時候都不用敲什麼代碼,直接滑鼠一陣拖拉就出來了,適合做又快又臟的應用。性能優化不如vc++
gcc是開源軟體的核心組件,linux/unix,全靠它編譯,支持幾乎世上所有的32位以上晶元,什麼手機、龍芯、pc,power pc, arms,大設備小設備都靠它。最樸素,但性能強大。適用於任何需要計算的場合。經過多個巨頭砸巨資優化過的編譯器,性能是一流的。移植性一流。標准化程度也是一流。就是開發工具—打字碼字的工具IDE,沒有像前2個那樣商業化,。
㈤ 編譯器如何分類
憑機器多分類,就看你個人的
㈥ 不同平台上的編譯器在詞法分析上有什麼不同要詳細答案答對加分~~~
編譯器分前端和後端 界限就是中間代碼
在所有的軟硬體平台 前端實現都一樣 都生成同一樣的中間代碼
但在不同的軟硬體平台 後端實現不一樣 不同軟體平台 如操作系統的可執行格式就不一樣
不同硬體平台 後端也不一樣 根據不同的CPU框架和指令系統 支持的定址方式 會生成不的機器代碼
同一平台不同的廠商的編譯器 所生成的中間代碼和機器代碼 都不同
至於不同的廠商編譯器的詞法分析 語法分析 語義翻譯的演算法大致相同 具體實現有差異
㈦ 為什麼相同的代碼相同的編譯器在不同電腦上的運行結果不同
函數f1中的變數c,你在未初始化的情況下就使用了,就是這句while(c!=0)。這時c的值是不確定的。
㈧ c語言在不同系統中有區別嗎,在哪,還有人說什麼編譯器不同,到底是系統原因還是編譯器
在不同的系統中C語言沒有區別,有區別的是不同的編譯器編譯後的機器碼不同,就是說函數的C語言的底層實現可能不同,但是C語言的函數作用相同。與系統的關系也一樣,系統不同實現方法不同,但是作用相同。
使用不同的編譯器,不同的系統,程序運行結果是相同的
㈨ 請問c語言編譯器有多少種
c語言問題不大,C++麻煩一些。
C編譯器品種不同,但如果你的程序按 ANSI 標准來寫,則所有的編譯器 都能識別,能編出正確結果。
編譯器品種很多,都是在ANSI基礎上擴充。PC 上用得較多的是 VC++ 編譯器,國內教學用TC較多。擴充部分別的編譯器不能識別,例如TC的繪圖。學校教學,不會樣樣都教。學生學習,主要是學門道,學會一種,很容易舉一反三,觸類旁通。所以不用耽心。