作者descent (「雄辯是銀,沉默是金」)
看板C_and_CPP
標題Re: [分享] 計算機程式
時間Mon Feb 2 13:51:47 2015
可能是在很多環境都可以見到計算機, 讓你以為這是很好寫的程式,
計算機是很難的程式。
有興趣的話可以參考以下兩本書籍, 你就知道計算機的難度了,
特別推薦 Stroustrup 的書。
UNIX 编程环境 (Brian W.Kernighan, Rob Pike) 第八章在談一個計算機怎麼寫, 其中使
用了 lex, yacc。
Stroustrup Programming: Principles and Practice using C++ (這本有 Second
Edition, 談及 c++11, c++14) 6, 7 章也在談怎麼寫一個計算機, 沒有使用 lex/yacc。
C++ 程序设计原理与实践 (Programming: Principles and Practice using C++ 的簡體
中文版本 - 第一版) p 109 提到: 「這是 50 年來的經驗, 想要一夜打破 50 年來的經
驗不是個好主意。」
※ 引述《ljsnonocat2 (平凡是幸福)》之銘言:
: 小弟新手最近剛開始入門程式 學C語言
: 之前想到寫計算機程式 要怎麼輸入算式 做加減乘除
: 一開始還在想要怎麼判讀算式裡面字串中有哪些數字與算符
: 再用switch case去分類運算 不過這樣搞得好像很複雜....
: 明明程式裡面 變數賦值等號後面就可以簡單做運算
: 要怎麼把輸入的算式編到程式裡???
: 後來看到某個網站 原來有這樣搞法....
: 用fprintf先產生一個臨時的.c原始碼檔 把算式當成參數寫進去...
: 然後用system系統指令編譯這臨時.c檔並執行 ....原來可以這麼簡單orz
: 想了好幾天的迷惑終於解開了 也分享給跟我想一樣問題的新手...
: http://ideone.com/TMgjSC (參考範例)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.61.61
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1422856313.A.2BF.html
→ ljsnonocat2: 感謝回答 第一句就打中我的想法 我以為很簡單 02/02 15:11
→ ljsnonocat2: 但是實際要搞發現很難 剛好看到有偷吃步的做法XD 02/02 15:11
→ ljsnonocat2: 當然各位前輩提供的正統做法 我還得努力研究... 02/02 15:12
→ james732: 因為計算機已經可以算是interpreter了嗎? 02/02 21:27