研究C語言的新型編譯環境TCC

來源:互聯網
上載者:User

標籤:是什麼   驗證   如何   其他   協助   沒有   概念   編譯環境   記事本   

C語言綜合研究1

搭建一個tcc環境

研究過程:

問題引出:為什麼要使用tcc環境,甚至連圖形介面都沒有,為什麼要使用這樣的化境?

按照我們學習的本質來講,可能是為了體驗C語言底層的相關特性,但是在研究1中尚不能體會這點,所以這個問題待後續回答

我們將相關檔案放到DOS環境下的C盤中去,用記事本書寫一個簡單的c程式。

使用c:\c\tcc a.c命令打算對.c檔案進行編譯。

發現,提示錯誤:不能找到a.c檔案。

那麼應該是無法識別路徑,或者是相關的問題?那麼推測是,難道tcc  環境在工作的時候需要一個索引路徑的檔案支援?

隨即我們使用了諸如 minic\tc c\a.c.發現可以找到a,c檔案並開啟它,於是得出結論,路徑問題並不由tcc來決定,而是由作業系統DOS決定。雖然考慮到這一點,但是仍不知道怎麼做,於是百度

最終知道應該 用 cd c\命令使目錄更改為C:\C>

這樣順利的編譯串連產生a.exe檔案。

但是仍不知道這樣做的原因是是什麼 為什麼tc的時候就沒有這個問題。

之後處於好奇心,將tlink.exe刪除,發現只能能夠產生.obj檔案,但是不能產生.exe檔案,如果不刪除tlink.exe發現可以直接產生.exe檔案,這說明了tcc.exe程式有調用tlink.exe程式的作用,而其本身能夠實現編譯功能。

又做了如下嘗試,算是對之前研究的回憶,在tlink.exe刪除後,刪除了其他必要檔案,發現仍讓能夠產生.obj檔案,說明這些檔案在編譯階段不是必須的,而這個再次說明了什麼是:串連!

做完這些工作,運行產生的.exe檔案,顯示了“hello world!”。

已解決:

1.通過這個研究做到了最基本的事情,搭建一個tcc環境並對.c檔案進行編譯串連產生.exe檔案。

2.認識到了tcc負責產生.obj檔案,tlink負責產生.exe檔案,但tcc會調用tlink 檔案。

3.對之前的研究進行回顧,進一步認識了“編譯”,“串連”這個概念

未解決:

1.tcc甚至連圖形介面都沒有,我們為什麼使用tcc?

2.教材所說的有兩個最大64K的段,試問如何驗證?以及,這個是什麼意思?

感悟:

通過建立tcc環境,實現了對.c檔案的編譯串連,總體來說tcc比tc少了很多檔案,這對於我們研究c語言是極其有協助的,可以讓我們抓住一些更為核心的東西,而忽略那些目前階段不需要瞭解的東西。

研究C語言的新型編譯環境TCC

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.