c語言最快嗎
很多人認為c語言的執行效率是除彙編之外最高的語音,有段時間我也這麼認為過,但我程式設計並不很在乎執行效率,因為很多時候並不需要高效。但昨天我寫的腳步解析器執行結果,讓我徹底放棄c語言是最高效的語言。
各種程式語言,無非就是解釋順序、判斷和迴圈三個邏輯,誰解釋的好,誰的效率就高,有些時候同樣表意的**,指令碼都比c語言高效。
但有些時候,你又不得不佩服c語言的設計者,他可以讓青出於藍而勝於藍。昨晚我測試我的指令碼解析器,解析if else,結果在嘗試1000次的時候指令碼解析居然比c語言呼叫函式還快。本身我的指令碼解析器就是使用c語言編寫的。
故而發表文章求解釋,如多本指令碼感興趣,可以發郵件到[email protected]與我聯絡。
我的指令碼解釋如下:
真假判斷:字串為」」為假,其他情況為真。
語句結束:每條語句以換行結束
如何理解:指令碼最簡單的理解方式就是將其展開,除了關鍵字就是執行命令
測試結果如下:
指令碼執行完成 2776ms
測試完成 3011ms
執行1000次,多-235ms
具體測試指令碼和測試**如下:
指令碼scriptparser-2.sp:
//測試條件語句
if print 123
else
print 不能輸出 456
if 789
print 789
else
print abc
print 輸出789 不能輸出abc
if wjh
else if
else
if abc if
else if zxc
print zxc
if 1=1
print 1111
else
print 222
if a=0
print 1111
else
print222
if else
}}else
測試**:
void testscript_1()
else
print ("不能輸出456");
if (true)//(strlen("789"))
print ("789");
else
print ("abc");
print ("輸出789 不能輸出abc");
if (true)//(strlen("wjh"))
else
if (false)//(strlen(""))
else
if (true)//(strlen("abc"))
if (false)//(strlen(""))
else if (strlen("zxc"))
print ("zxc");
if (true)//(strlen("1=1"))
print ("1111");
else
print ("222");
if (true)//(strlen("a=0"))
print ("1111");
else
print ("222");
if (false)//(strlen(""))
else}}
else
}int _tmain(int argc, _tchar* argv)
#define test_count 1000
//執行指令碼解析
dword st = gettickcount();
for (int i=0;i
學c語言難嗎?
學c 語言真的很難嗎?人們對於未知的事物都有一種畏懼的心理,在沒有接觸過c語言的時候總是認為他很難,等自己真正接觸過後才知道原來很容易。很多人都認為c 語言的發展前景不錯,但是都一點畏懼,怕學習不懂,都覺得學習 c語言非常難,如果是沒有基礎的情況學習時會更加吃力。那麼 c語言到底是不是真的學習比較難...
學c 需要先學c語言嗎?
看需求,如果是底層開發,就必須學習c語言。如果只是應用開發,可以直接從c 開始學習。實際上這兩個語言是平等的,只是在語法上c 盡量與c相容,但仍然有很多不同的地方。1 c 不是c的超集。也許最初誕生的時候可以這麼認為,但是當1998年iso制訂了c 的標準之後,c 和c就是沒有太大關係的兩種語言了。...
C語言中有bool型別嗎?
之前一直都沒有注意到,最近在用c語言寫dsp演算法時,偶然間發現我函式中定義的bool型別的變數在vc6.0 我主要用它來檢查一下語法錯誤 中編譯居然報錯了,說是bool型別沒有定義。用了這麼久的c和c 了,一直覺得bool這種基本型別,應該是c語言內建的型別,怎麼會沒有定義呢?事實證明,我的想法完...