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

設計編譯程序注意的問題

發布時間: 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-03-19 09:16:27 瀏覽:159
東方歸言錄日服賬號密碼如何設置 發布:2025-03-19 09:11:27 瀏覽:250
vue前台緩存組件 發布:2025-03-19 09:11:27 瀏覽:746
英雄聯盟手游用什麼安卓手機 發布:2025-03-19 08:59:58 瀏覽:932
foxmail不能新建文件夾 發布:2025-03-19 08:45:39 瀏覽:32
安卓系統怎麼關閉電腦上的廣告 發布:2025-03-19 08:44:41 瀏覽:657
存儲過程調用c代碼 發布:2025-03-19 08:42:19 瀏覽:171
配置環境變數有什麼用 發布:2025-03-19 08:21:02 瀏覽:564
oppo手機微信如何設置支付密碼 發布:2025-03-19 08:18:49 瀏覽:798
如何設置進微信密碼是什麼 發布:2025-03-19 07:45:11 瀏覽:287