製作C語言編譯器的要點

2021-08-21 14:13:40 字數 791 閱讀 1780

編譯.c的程式可用mingw的gcc命令:

gcc test.c -o test.exe
編譯c++的程式要用g++:

g++ test.cpp -o test.exe
注意:上述命令在執行時如果顯示找不到命令,需要在命令前面加路徑,或者設定path環境變數。

編譯時如果程式存在錯誤,這個錯誤資訊顯然要在編譯器s的介面顯示。為此我們需要把命令列的錯誤資訊重新定向到檔案中,如:

g++ test.cpp -o test.exe 2>err.txt
這裡2表示出錯資訊。編譯器s可以從err.txt讀取出錯資訊顯示在編譯器介面。

編譯成功會產生可執行程式,如上面的test.exe,執行此程式即可輸出程式結果,該結果直接顯示在命令列環境:

test.exe
但是我們製作自己的編譯器s時,顯然需要把輸出結果顯示在編譯器介面。為此我們需要把c程式的輸出結果重定向到檔案,然後編譯器s從此檔案讀取內容顯示到編譯器介面。重定向的命名如下:

test.exe > result.txt
c程式在執行時常常要從鍵盤輸入資料,我們可以在編譯器介面輸入提供給c程式的資料,然後編譯器將其儲存到檔案(假如是inputdata.txt),然後執行如下命令即可:

type inputdata.txt | test.exe > result.txt

C 語言 編譯器

c 語言是高階程式語言,人們在使用 c 語言工作的時候不必用數字碼表示指令,大大簡化了對於計算機底層暫存器的操作,人們可以把工作的重點放在 設計和具體功能的實現,編寫出更易讀易懂的 可是計算機的工作和人類正好相反,c 語言編寫的 對於計算機而言就好比是天書且沒有意義可言,因為計算機是識別機器語言的,...

C語言的編譯器

c語言的常用編譯器 目前最流行的c語言編譯器有以下幾種 gnu compiler collection 或稱 gcc microsoft c 或稱 ms c borland turbo c 或稱 turbo c 這些c語言版本不僅實現了ansi c標準,而且在此基礎上各自作了一些擴充,使之更加方便 ...

交叉編譯器的製作

本篇文章是介紹交叉編譯以及如何製作交叉編譯器。一 什麼是交叉編譯?工欲善其事,必先利其器。我們搞嵌入式開發的,需要在不同的平台編譯出我們板子所需要的程式,因此需要一種編譯工具,交叉編譯器就是在一種平台上編譯出能執行在體系結構不同的另一種平台上的程式。比如我們在x86平台下的pc上編譯出能執行在arm...