我在玩在線 PDP11 仿真器(鏈接)并查看其常見問題解答的編程部分。
它是關于在模擬器上用 C 編程的:
您需要撰寫與現代 C 有很大不同的 pre-K&R C
我相信這是指在The C Programming Language出版之前使用的 C 版本。我試圖通過閱讀我可以在模擬器的檔案系統中找到的稀疏 C 檔案來理解這個版本,但即使是簡單的事情,比如宣告argc和我也無法理解argv。我也無法在網上找到任何關于它的資訊。
是否有任何關于“pre-K&R” C 的當時或事后撰寫的檔案?
uj5u.com熱心網友回復:
對于這類問題,我的首選來源是已故丹尼斯·里奇 (Dennis Ritchie) 的存檔網頁:
https://www.bell-labs.com/usr/dmr/www/
從那里點擊一下這個早期的 C 參考手冊,由 Ritchie 自己撰寫:
https://www.bell-labs.com/usr/dmr/www/cman.pdf
這確實是“前 K&R C”,具有諸如= 而不是 =.
這與 K&R 書中的附錄 A 以更新的形式出現的參考手冊相同。
在同一頁面上有指向該參考手冊的其他幾個版本的鏈接,以及關于Ritchie 編譯器的兩個早期版本的注釋甚至源代碼。這些看起來很有趣,盡管正如頁面指出的那樣,“您將無法使用今天的編譯器編譯它們”。
有一個專門針對此類問題的 Stack Exchange 站點:https : //retrocomputing.stackexchange.com/。
uj5u.com熱心網友回復:
Steve Summit 回答了從何處獲取檔案的問題。所以這篇文章旨在總結與現代 C 的顯著差異
函式引數的型別完全不同。它們沒有在括號內指定
void foo(a, b)
int a;
float b;
{
// Function body
}
沒有行評論,例如//. 僅有的/* */
沒有邏輯or和and。運營商&&和||不存在。使用按位運算子&和|代替。
=-意思相同-=,例如導致歧義x=-1。
沒有任何void指示。char而是使用了指標。
無法在 for 標頭中宣告變數,因此必須撰寫:
int i=0;
for(i=0; i<N; i)
=僅用于分配而不是初始化。那些是這樣完成的:int x 3;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/386848.html
上一篇:malloc中斷函式
