① visual studio 是什麼我需要一個很科普性的回答,不要太多專業詞彙
c語言是一個國際標准,主要規定的是描述我們思想的格式。
visual Studio是微軟的工具,用於將代碼變成機器識別的0,、1代碼。
舉個例子,1,)你想做1+1等於幾,這是咱們人類的思想。
2)然後選擇語言表達,有Basic,Pascal,C,C++等
寫成 int sum;sum = 1+1;
3)選擇一個編譯器,有boland 、Turb、visual studio等。他們都認識c語言的格式。看到上述代碼就編譯成適合的機器碼, 並且加上額外的必須的代碼變成可執行文件(例如windows下的exe文件時有固定格式的)
再啰嗦幾句,c語言是標准,其實不同的編譯器廠家還有自己的細節上修改的小版本。相互之間不是完全通用的。
還有現在流行託管環境下的編程,java c#等,這些代碼會被編譯成中間代碼,然後在不同的機器上的託管環境中運行。這種情況下,對未加密的可執行文件反編譯會直接得到源碼(變相的開源) ~~~ 非託管的基本只會得到匯編。
② c語言為什麼能跨平台或者是如何跨平台的
c語言能跨平台是因為各個平台有相應的c編譯器,只要源代碼相同,編譯器編譯出來的二進制文件就會實現相同的功能,但是這些二進制文件本身是不一樣的。
exe就是2進制的,但不完全是原來程序的代碼,還包括了windows系統的一些代碼。
科普一下,C最早是出現在Unix下的,Windows那都是後話了,C出現的時候Windows還沒開發出來呢。
C有個比較特別的稱呼,叫中級語言,因為它有高級語言的特性又能跟底層硬體很好的交互所以才有這么個說法。DOS時代在C裡面嵌上一段匯編直接從並口讀個數上來那是很流行的,現在沒見誰在VC裡面這么干吧。Windows也不讓啊。想訪問硬體怎麼也得通過驅動。
C在多種平台下可以實現代碼級的共享,跨平台就需要重新編譯了。
但是,我也見過有的軟體是可以在多種平台上運行了,可能有什麼特別的技術,可以先識別一下操作系統,再運行相應的代碼。這個應該是在編譯的時候有特殊的技巧。
C編譯、連接器網上有現成的代碼,一般不是很專業的技術人員沒有去研究它。我一直把玩編譯原理的視為天人,有能力把編譯原理那本書看完的就很不容易了,再要能領會其中精要那就成才了,能把龍書虎書鯨書都搞明白的那就是一流專家了。
③ Keil科普教程 | Keil MDK和ARM DS-5的區別
本文將詳細介紹Keil MDK和ARM DS-5這兩個針對ARM處理器的集成開發工具,以及它們的發展歷史和主要特性。
在 ARM 工具的發展歷程中,早期的SDT經過多次迭代,最終在2002年推出了RVDS,包含了編譯器、調試器和模擬器等工具。2005年,Keil被ARM收購後,MDK和DS-5成為了ARM工具的兩個分支,分別繼承了RVDS的不同方面。
Keil MDK起源於 µVision 和 RealView,專注於MCU開發,支持Cortex-M、Cortex-R4等處理器,提供免費到專業四個版本,僅限於Windows系統。更多詳情可在官網www2.keil.com/mdk5找到。
相比之下,DS-5基於Eclipse環境,支持Windows和Linux平台,適用於ARM全系列處理器,包括Cortex-A/R/M及早期型號。它提供了專業版和終極版兩個版本,但已於2019年停止更新,被ARM Development Studio替代。關於DS-5的詳細信息,可參考developer.arm.com/tools...
MDK和DS-5的主要區別體現在IDE環境(MDK基於Keil µVision,DS-5基於Eclipse)、支持平台(MDK限於Windows,DS-5跨平台)、處理器支持(MDK專攻MCU,DS-5全面覆蓋)、編譯器選擇(兩者均支持多種編譯器)以及版本劃分(MDK有四個級別,DS-5僅兩個)。
深入了解它們的異同,可以參考myir-tech.com/resource/...這篇文章。下期分享將深入探討更多細節,敬請期待。
④ Keil科普教程 | Keil的發展歷史
Keil的發展歷史如下:
創立與早期發展:
產品與服務發展:
重要轉折點:
後續發展與更新:
總結:
⑤ 小白科普:python代碼是編譯執行還是解釋執行
python代碼是解釋執行的。
所謂編譯執行就是源代碼經過編譯器編譯處理,生成目標機器碼,即機器能直接運行的二進制代碼,下次運行時無需重新編譯。這種代碼不具備可移植性、但執行速度快,C、C++這類語言屬於編譯型語言。
解釋型語言是在代碼運行期間逐行翻譯成目標機器碼,下次執行時,還是需要逐行解釋,我們可以簡單認為 Java、Python 都是解釋型語言。