天天看點

一個腳本語言解釋器ch

腳本語言用起來很友善,特别是測試一個函數呀,或者寫一個工具。可作為c/c++程式員,學習其他一門腳本語言實在不爽:

1)文法習慣,試過ruby,python,groovy,幾乎每一個都很難受。尤其那個python感覺還好一點,可以不使用“{}"還自诩為減少代碼行數,便于閱讀(不知道那個語言開發者腦子裡怎麼想的)。而groovy對于Java的程式設計者來說,确實不錯,但是其與Netbeans的內建,有點滞後,偶爾會出現奇怪的調試問題。ruby就算了,莫名奇妙的炒作起來的,竟然被sun奉為java的第一候補,不關門才怪呢。

2)調用c/c++過于繁瑣。本來c++/cli是個不錯的語言,可是連微軟現在都沒有信心了,在2010中竟然沒有任何更新了。而且文法雖然在vs 2008就和c++比較接近了,不過感覺起來還是不論不來,惡心的微軟竟然還抛出一大堆理由,解釋”我們這樣也是沒有辦法呀!“,和關門的borland的c++ builderX(當時沒有使用c++重寫VCL,說是實作機理差别太大)一個腔調。

因為調試一個c++程式,需要打開一個很大的索引(在記憶體中建立一個有幾十萬個節點的圖),是以啟動很慢。一旦中間出錯,又要從頭開始,實在令人郁悶。我再想,要是c++提供一個解釋器,可以解釋執行調試自己的程式就好了,那樣要是出錯了,就編輯之後可以直接運作。在google上難受了半天(因為我們可愛的網絡管制,老是連不上),終于找到了兩個,CINT和CH,相關的資料不較少,粗略浏覽之後,感覺ch比較強大,而且文檔比較齊全,組織的也比較好(這個很重要)。

ch的基本功能:

1)使用其解釋器,以腳本方式運作c/c++程式。

2)調用OS API,已有的c/c++靜态,動态庫,據說和一般的c/c++編譯調用一樣(這個功能太爽了!)

ch的進階功能:

1)2D/3D圖形

2)數值計算(和matlab類似,功能上應該弱一點),

3)其他進階功能

附帶說明:

基于GUI的腳本語言調試,進階功能需要專業版才支援(幸運的是網上有破解,而且一個大牛還說,ch的軟體保護做的很弱,随手就搞定了)。

不足:要是可以繼承到vs或者netbeans就完美了。

繼續閱讀