cpu編譯器有用嗎
CPU就是用來計算的,CPU可以做不同的計算,每種計算是一個命令,你可以用命令通知CPU做這種計算,所有的命令構成了指令集。
你寫的代碼CPU是不懂的,需要翻譯成上面說的命令,這個翻譯者就是編譯器。
演算法跟他們的關系稍遠一些。如果把計算比作生產的話,那演算法就是配方和工藝,指導著從原材料到產品的生產過程。
希望能幫助到你。
㈡ 為什麼同一款軟體在不同指令集的CPU上運行相同的結果操作系統和編譯器在其中起到了什麼作用
軟體是較高的層次,它告訴cpu具體的運算內容,cpu指令集是更底層的,它接受指令運算並輸出結果,就像不同廠家的電視機,雖然內部電路不一樣,但輸出的圖像時一樣的,
當然由於指令集不同運行效率等細節上還是有差別但不影響結果!
操作系統就是管理各軟體的,及管理軟體運行所需要的軟硬體資源,編譯器是應用程序(軟體)和操作系統的橋梁,操作系統通過編譯器制定軟體要干什麼,才能調用相關資源使其運行起來!
㈢ 編譯器有什麼用
簡單講,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 目標代碼 (object code) → 鏈接器(Linker) → 可執行程序 (executables)
高級計算機語言便於人編寫,閱讀交流,維護。機器語言是計算機能直接解讀、運行的。編譯器將匯編或高級計算機語言源程序(Source program)作為輸入,翻譯成目標語言(Target language)機器代碼的等價程序。源代碼一般為高級語言 (High-level language), 如Pascal、C、C++、Java、漢語編程等或匯編語言,而目標則是機器語言的目標代碼(Object code),有時也稱作機器代碼(Machine code)。
對於C#、VB等高級語言而言,此時編譯器完成的功能是把源碼(SourceCode)編譯成通用中間語言(MSIL/CIL)的位元組碼(ByteCode)。最後運行的時候通過通用語言運行庫的轉換,編程最終可以被CPU直接計算的機器碼(NativeCode)。
㈣ 關於編譯器 操作系統 CPU
c語言標准規定,int類型最少為2位元組,long類型不能比int類型短。具體多長,由編譯器自行決定。
一般,16位編譯器(如老掉牙的Turbo C 2.0),int類型佔2個位元組,而現代32位編譯器如Visual C++、gcc、Intel C/C++,int類型都是4位元組的。所以如果為了編寫可移植性的程序,不要對數據類型的長度做假設。
佔用多少位元組,主要取決於編譯器。而不是多少位的軟體和CPU,比如x86-64軟硬體系統上,大多數int仍然是4位元組長,比如微軟的Visual C++在生成64位程序的時候就是如此。
這個多少位是指地址匯流排的長度,並不是int類型佔用的位數。
㈤ 關於cpu指令集和編譯器的問題
這是因為你所說的這種程序是運行在操作系統上的,它不是直接和硬體通信,真正和硬體通信的是操作系統,或者說是驅動程序,這就是不同的硬體要裝不同驅動的原因,這中間還有一層bios,而windows把許多硬體的驅動都集成在系統里,所以即使你不安裝驅動,系統也可以匹配很多硬體。
而系統提供了統一的應用程序入口,常見的應用程序實際上是運行在一個層層封裝的統一平台上,所以同樣的系統對應用程序來說僅僅要求能運行的話,就基本不用考慮硬體差異了,當然這也不是絕對的。你要是搞嵌入式開發可就沒這么愜意了
㈥ 匯編編譯器究竟在哪裡Cpu中
匯編語言是一種程序語言,本身不能被cpu識別,通過編譯器進行編譯,轉換為機器可識別的機器語言,編譯器是一種程序文件(一個或一組文件構成),用來完成匯編語言到機器語言的轉換
㈦ 匯編指令、編譯器和CPU的問題
x86的指令集基本是向上兼容的,在新cpu上運行老代碼是可以的。
如果是全新的指令集,cpu廠家在設計時就會有指令集和匯編程序了,現在一般廠商至少提供c語言編譯程序。
如果自己開發編譯程序,前端(詞法分析到中間代碼生成)一般不用動,後端是要自己寫的。
㈧ 編譯器是和cpu匹配的嗎不同的cpu使用不同的編譯器嗎
不僅和cpu匹配,還和操作系統匹配,但cpu之間有一定兼容性,比如x86-win的程序一般都能在x64-win上跑
㈨ 像intel和AMD需要對cpu編程嗎用的是匯編嗎cpu裡面有編譯器嗎
據說是傳說中的硬體編程……編譯器肯定是沒有了,因為CPU收到的代碼已經是最低級的機器碼了,不需要再進行編譯……