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

設計編譯程序注意的問題

發布時間: 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、實際情況比我說的還要復雜得多。所以,能玩編譯器的人不是很多,商品化的編譯器更是鳳毛麟角。

熱點內容
c語言中非 發布:2024-10-18 16:21:20 瀏覽:143
招編程人員 發布:2024-10-18 16:19:37 瀏覽:422
什麼數據類型存儲圖片 發布:2024-10-18 16:19:28 瀏覽:749
電腦維護伺服器 發布:2024-10-18 16:18:51 瀏覽:435
取捨演算法 發布:2024-10-18 16:12:36 瀏覽:249
安卓數據線一般在什麼價位 發布:2024-10-18 16:09:25 瀏覽:732
老式安卓機怎麼插卡 發布:2024-10-18 15:52:35 瀏覽:338
pc搭建nas伺服器 發布:2024-10-18 15:51:59 瀏覽:266
androidimei 發布:2024-10-18 15:51:56 瀏覽:292
c語言零基礎入門 發布:2024-10-18 15:46:42 瀏覽:188