機載軟體適航B級編譯器庫
⑴ 如何查看執行文件或者庫文件的編譯器版本
可以看到編譯器版本 。 簡單講,編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言
⑵ 編譯軟體屬於________。
系統軟體
編譯器就是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。一個現代編譯器的主要工作流程:源代碼 (source code) →預處理器(preprocessor) → 編譯器 (compiler) →目標代碼(object code) →鏈接器(Linker) → 可執行程序(executables)
(2)機載軟體適航B級編譯器庫擴展閱讀:
典型的編譯器輸出是由包含入口點的名字和地址, 以及外部調用(到不在這個目標文件中的函數調用)的機器代碼所組成的目標文件。一組目標文件,不必是同一編譯器產生,但使用的編譯器必需採用同樣的輸出格式,可以鏈接在一起並生成可以由用戶直接執行的EXE,所以我們電腦上的文件都是經過編譯後的文件。
⑶ c++標准庫是不是所有的編譯器裡面都有啊
應該這樣說:原則上,所有被稱作C++編譯器的軟體都應該遵循C++標准(ISO C++,可查閱網路知道),然後在此基礎上可以擴充。也就是說原則上,C++標准庫是都有的。但不排除少數編譯器並不完全遵循標准,比如他們覺得某個函數在某處出現是不科學的,或如果換個方式做更好,有可能不理會標准。
STL是標准庫中的,不然為啥叫STL(Standard)?但不是一開始就有STL,所以不是任何時代的C++編譯器都能支持STL。與上面同理,也不是所有廠商的所有編譯器都會恪守STL。只能說是絕大多數是。
庫函數當然就是庫里的函數啦~呵呵。
⑷ 大家初學c語言用的編輯器和編譯器是怎麼下載安裝詳細步驟
Vscode集成一下就好
⑸ arm-linux-gcc交叉編譯器的製作,以及版本選擇問題。
,需要必須有足夠動經驗來支持。
另外,用 RH9 的都是高手,我想你的知識不需要來提問了吧?
1、在 PC 上編譯 arm 的程序當然需要較差編譯器,這個需要自己安裝,或者著現成的交叉編譯器環境,一般是一個特殊參數編譯出來的 gcc + binutils + glibc + linux-header。這個每個人動環境不同,一般都需要自己編譯一個,當然沒有特殊需求,也可以找現成的。不過很難找,因為這套環境還要和你動系統搭配,不然環境不匹配,連這個環境都不能運行,那就更談不上編譯東西了。
有關自己編譯搭建交叉編譯環境,可以看看一個特殊的 Linux 發行版 LFS 的分支: CLFS 。
2、移植分很多意思,移植有可能就意味著這套源代碼不能在目標系統上面編譯,需要你根據相應的知識去修改源代碼來讓這套代碼適應目標編譯器的要求,比如源代碼有 SSE4 的優化,這套程序在非 SSE4 CPU 上無法編譯運行,但目標機器連 SSE1 都不支持。那麼就需要移植。
或者移植僅僅是根據新的環境進行編譯,不需要進行源代碼修改,只需要進行一下編譯就能運行的程序,也可以稱為移植,就是從一個環境、架構 -》另一個環境、架構。都可以稱為移植,但真正的移植意味著修改程序源代碼來適應新環境。你說的這種移植是最簡單的移植。
3、決定目標硬體環境 -》搭建目標編譯器 -》製作目標環境(內核,基礎軟體庫)-》進行應用移植(移植需要的軟體、主應用程序)-》搭建系統文件系統 -》導入目標系統-》啟動目標系統&應用。說起來很簡單,因為這是完全沒有問題的條件下。
至於超級終端。那是用來控制目標系統的。目標系統有可能不能插鍵盤滑鼠顯示器,這就需要一個遠程網路鏈接來進行控制。以及通過遠程鏈接來發送數據。這都需要終端的支持。
虛擬機下面進行開發,不能發揮你的計算機的性能。而且因為隔著 VMware 的軟體模擬層,可能還不會很方便的讓你鏈接目標設備。
至於用 socket ,我還沒見到你的目標需要這個東西,因為所有的東西都是現成的源代碼。不需要你從 0 開始寫,當然你想自己寫一個系統內核,或者伺服器程序,或者全套的系統+應用,我絕對不攔你,但希望你寫完這套東西,能把源代碼發布出來。
ads 可以認為是一個支持環境,他本身不是一個系統的開發 SDK 。
-------------------------------------
ads 沒用過,印象里他還有模擬器,調試器什麼的程序。功能上要比 Linux 開發環境,WinCE 環境下面的東西更多更偏向於硬體方面,畢竟 ads 是 arm 出品的,不太可能偏向於軟體部分設計。Linux 和 WinCE 都是系統而不是硬體工具。
你可以認為交叉編譯器是一個應用程序,一個輸出器。把源代碼輸出為 arm 的代碼,這個應用程序的輸出,是靠他自己的環境,而不是當前系統的環境的。
當前系統的各個軟體的版本,不能影響交叉編譯器輸出的環境(理論上,現實有的時候總是從別的地方給你打擊……),交叉編譯器一般至少有 gcc 、binutils 、glibc 庫、linux kernel 頭文件。
在軟體需求上。
頭文件誰都不依賴,glibc 只需要內核頭文件,其他程序全都依賴於 glibc 。也就是所有程序都不依賴內核,僅僅是依賴於內核頭文件。
gcc 和 binutils 是把程序源代碼根據上面各個環節的需提供的功能來輸出為上面環節裡面的二進製程序。依賴你當前環境的,只有 gcc 和 binutils 兩個程序的執行、控制環節。只有他們兩個依賴的,而不是你的交叉編譯後的程序。
至於編譯器版本的選擇,新版本功能更好,舊版本兼容更好。
這個要看你的實際需要了。應用程序源代碼也調編譯器的,同時也依賴於軟體庫的功能。
arm 開發建議穩定、兼容優先。當然也可以嘗試最新的編譯環境,來獲取更好的優化(前提是還有什麼代碼優化的話)。
另外,團IDC網上有許多產品團購,便宜有口碑
⑹ 哪個單位可以出具民航機載設備適航認證的檢測報告
推薦:廣電計量-環境可靠性與電磁兼容試驗中心
⑺ 編譯器和IDE的區別 如Eclipse、tasking,GNU,GCC,keil,IAR有什麼區別
0, 有些IDE是支持多種編譯器和多種硬體架構的
1, IDE本身跟硬體沒有關系, 是自帶的編譯器跟平台有關,但各硬體廠家會為自己定製或開發維護一個IDE方便開發,所以給你感覺IDE跟硬體平台有關了
2, 編譯器與你是什麼架構的CPU是有關的,不同架構的CPU,其機器指令不一樣,所以需要不同的編譯器
3, 如果你的編譯器功能足夠強大,是可以讓你所想到的任何語言所描述的程序編譯成你想要指定的硬體平台上去運行,不過事實上,這種萬能編譯器幾乎很難實現,也就是:沒有
4.要看IDE是否支持配置不同的編譯器,ECLIPSE應該是可以配置GCC的
5. 編譯器只管到架構一層,不會管到自己私加的一些功能上,私加的功能通常是廠商自己提供BSP開發包來解決的,而不是修改編譯器
6.你這個問題沒有意義,比如嵌入式板上跑裸機程序或用LINUX系統,那你所用的IDE通常來講是不同的,甚至用LINUX OS的系統上運行的程序不需要IDE,只需要GCC,而如果你硬是想在宿主機上用LINUX平台開發裸機程序,用GCC去編應該也可以,但通常你都是在WINDOWS平台用一個所謂的IDE的軟體去編一個IMG,然後燒到ARM平台上。
2.1 你在編譯之前,肯定會選擇你是哪個內核的ARM,或者選擇你是哪一款晶元。這是配置問題,並無關編譯器是否不同這個級別的問題上了。你可以咨詢你現在所使用晶元的官方技術支持,問他們看哪個IDE或哪款編譯器支持你想要的晶元。
2.2 同樣,這類問題,要不,你可以網路谷歌,要不,就問晶元廠商技術支持。
⑻ 常見的C語言編譯器是什麼
目前最流行的C語言編譯器有以下幾種:
1、GNU Compiler Collection 或稱GCC
GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。
GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。
2、Microsoft C 或稱 MS C
Microsoft C 是c語言的一種IDE(集成開發環境),常見的還有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C等等......
3、Borland Turbo C 或稱 Turbo C
Turbo C是美國Borland公司的產品,Borland公司是一家專門從事軟體開發、研製的大公司。該公司相繼推出了一套 Turbo系列軟體, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 這些軟體很受用戶歡迎。
(8)機載軟體適航B級編譯器庫擴展閱讀:
C編譯的整個過程很復雜,大致可以分為以下四個階段:
1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
3、匯編階段將匯編語言翻譯成機器指令。
4、鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。
⑼ 求《編譯器與函數庫》(Intel.Visual.Fortran.Composer.XE)2011.5.221 Windows[光碟鏡像]軟體
【Intel Visual Fortran】
官方網站就能找到。
software~intel~com/en-us/intel-visual-fortran-studio-xe-evaluation
請把上面的 ~ 改成 . (點)
下載的軟體是 30 天試用版。加上許可文件既可變為長期可使用的。
許可文件可以在以下地址下載:
goo~gl/S3QJG
(同樣需要把 ~ 改成點,打開後下載 XE.2011.5.221_intel_tbe.lic 文件 )
另外,IVF 需要 Visual Studio 2005 或 2008 等。
⑽ MDK編譯提示main.c(7): warning: #550-D: variable "XX" was set but never used怎麼破
定義了變數key,使用key的代碼為:key = SPI2_ReadWriteByte(0x00);執行函數並將函數返回值賦值給key,沒有使用這個返回。
比如
int b=a;
從a中讀取數據負值給b.其實,我是感覺聲明和負值的地方離那麼遠很奇怪。
反正循環裡面又不用,為什麼不到負值的時候才聲明。
(10)機載軟體適航B級編譯器庫擴展閱讀:
使用變數並不需要了解變數在計算機內存中的地址,只要通過變數名引用變數就可以查看或更改變數的值。在VB Script中只有一個基本數據類型,即Variant,因此所有變數的數據類型都是Variant。
例如,可以創建一個名為Click Count的變數來存儲用戶單擊Web頁面上某個對象的次數。