SPARC高性能處理器集成開(kāi)發(fā)環(huán)境及其編譯器設計與實(shí)現
BMSPARC還提供對硬件CORDIC的支持,主要通過(guò)庫函數修改的方式完成。通過(guò)使用庫替換的方法,可以簡(jiǎn)化移植過(guò)程,實(shí)現軟件兼容及編譯器的快速開(kāi)發(fā)和使用,并可以快速完成針對超越函數的編譯器優(yōu)化。SPE-C與BMSPARC編譯器的集成SPE-C中編譯系統的基本規則為:針對工程中的源文件及鏈接文件,包括用戶(hù)指定的庫文件,按照指定的規則,并參考用戶(hù)設置,生成一個(gè)符合要求的Makefile文件,然后用make.exe對Makefile文件進(jìn)行解釋執行,從而生成需要的目標文件,或完成相應的動(dòng)作[6-8]。
如果在整個(gè)過(guò)程中有錯誤發(fā)生,則編譯/鏈接終止,IDE系統將套件提供的錯誤原因反饋給用戶(hù)。為了將BMSPARC編譯工具鏈集成到SPE-C中,必須使BMSPARC工具鏈的輸出信息包括警告和錯誤信息最終輸出在SPE-C的顯示窗口中。由于BMSPARC工具鏈的各個(gè)執行文件都是基于控制臺的執行程序(基于命令窗口的命令行程序),而SPE-C是圖形用戶(hù)界面(GUI)程序,因此要將它們執行的各種輸出信息收集并放到SPE-C的輸出窗口中顯示,需要一些技巧。本
系統實(shí)現在SPE-C的輸出窗口中顯示編譯信息的方法如下:
1)當集成開(kāi)發(fā)環(huán)境通過(guò)界面交互得到用戶(hù)編譯某一工程或源碼文件的指令后,首先發(fā)起一個(gè)后臺線(xiàn)程;
2)后臺線(xiàn)程創(chuàng )建一個(gè)匿名管道,發(fā)起一個(gè)命令子進(jìn)程以執行編譯整個(gè)工程或某個(gè)源碼文件的make命令,直接將該命令子進(jìn)程的標準輸出和錯誤輸出均重定向到由父進(jìn)程創(chuàng )建的匿名管道的“寫(xiě)”端,SPE-C的后臺線(xiàn)程通過(guò)該匿名管道的“讀”端得到所需要的編譯信息;
3)后臺線(xiàn)程再將所有通過(guò)管道獲取的編譯信息實(shí)時(shí)傳送回IDE界面中的信息輸出(Output)窗口進(jìn)行顯示。顯然,這種方法實(shí)現起來(lái)并不復雜,命令子進(jìn)程的Stdout和Stderr都被重定向到匿名管道的寫(xiě)端,僅用一個(gè)匿名管道就實(shí)現了全部功能。上面程序流程圖中從匿名管道讀端讀取的輸出信息,即是由編譯命令子進(jìn)程的Stdout和Stderr重定向輸出的內容,將其直接放入Output窗口中顯示便實(shí)現了編譯信息實(shí)時(shí)顯示的功能。
結語(yǔ)
SPE-C集成開(kāi)發(fā)環(huán)境已經(jīng)實(shí)現了與SPARC處理器的無(wú)縫配合工作,也已通過(guò)第三方評測,可隨時(shí)提供給用戶(hù)使用;下一步要完善軟件仿真環(huán)境及對操作系統的支持,為用戶(hù)進(jìn)行軟件仿真和針對操作系統編譯開(kāi)發(fā)提供有效的支持環(huán)境。
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
評論