當前位置:首頁 » 編程軟體 » 設計編譯程序注意的問題

設計編譯程序注意的問題

發布時間: 2024-10-18 14:08:43

Ⅰ 關於c語言編譯階段的一些問題

呵呵,找一本好書吧。我不能完全給你寫清楚,"sting.h"的拼寫已經有人說了。
簡單地說,要理解幾種文件:
A:源文件:例如匯編(asm)、c語言、cpp
B:目標文件
C:庫文件(lib)
D:可執行文件

A經過編譯器得到B,若干個B可以經過庫管理程序得到C,C也可以通過庫管理程序得到B(提取)
若干個B通過鏈接器可以得到D,但是比如strcmp是出現在C中的,但實際上鏈接器會到C中提取出strcmp所在的B,然後將這個B放入到你的D中。整過過程是一個求閉包的過程,具體參見《Linker and Loader》。

最後說說.h,其實.h本身並不是必要的,但是它可以減少人們的錯誤,減少重復的代碼。
比如printf,你完全可以不include<stdio.h>,你就自己寫上一行:
int printf(...);
然後你後面就是直接使用就好了,但是這樣會有很多缺陷,這些缺陷可能只有你深刻地理解C語言本身的缺陷後才能明白,不多說了。

Ⅱ 我想開發一個編程語言,演算法等等都沒問題了,關鍵是如何把我的語言編譯成EXE文件

1、其實這個過程比較復雜。很多高級語言都不是直接將源程序編譯成機器碼,而是將匯編語言作為目標語言,就是將源碼翻譯成等價的匯編代碼,然後使用現有的匯編語言編譯器將中間代碼編譯成PE格式文件。你沒有必要再重復寫一個匯編語言編譯器,所以會省很多事。
2、即使翻譯成匯編代碼,也是有很多問題。一是匯編語言嚴重依賴硬體和平台,因此你需要根據需求,在不同平台上翻譯不同的匯編代碼;二是編譯器的排錯。一個編譯器能夠面對各種情況,無錯誤運行,本身就是一個奇跡;三是程序的優化問題,一個好的編譯器要對生成的代碼進行優化,否則編譯出的程序不僅很大,而且運行效率低下;四是凡是程序設計語言,有必要給用戶提供友好的調試環境,這個編起來也很復雜。
3、實際情況比我說的還要復雜得多。所以,能玩編譯器的人不是很多,商品化的編譯器更是鳳毛麟角。

熱點內容
巴法雲伺服器帶寬 發布:2025-01-12 13:15:26 瀏覽:675
搭建國外伺服器需要多少錢 發布:2025-01-12 13:08:01 瀏覽:826
我的世界mod伺服器開荒 發布:2025-01-12 13:07:10 瀏覽:756
sql優化書 發布:2025-01-12 13:07:09 瀏覽:454
高校網站伺服器搭建與維護論文 發布:2025-01-12 13:06:31 瀏覽:710
sqlserver實例沒有 發布:2025-01-12 12:57:18 瀏覽:251
代碼文件伺服器地址怎麼寫 發布:2025-01-12 12:50:47 瀏覽:759
java中方法與 發布:2025-01-12 12:50:13 瀏覽:654
如何快速查找c語言編譯時的錯 發布:2025-01-12 12:49:56 瀏覽:31
看門狗上傳病毒 發布:2025-01-12 12:32:54 瀏覽:326