PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[討論] 未來C++地位會像高級組語碼?
作者:
Sidney0503
(Sidney0503)
2018-07-04 09:31:13
現在的 llvm bytecode 是很流行的中介碼 非常類似組合語言
很多語言只要寫好前端接到llvm ir 就可以輕易地轉後端就跑在各種硬體上
C++20 想要靜態動態兼具 (modules, injection/reflection) 和圖形化
(C++:「我全都要」)
這樣當C++擁有全部語言都有的feature的時候
任何語言都可以轉成 C++ code 作為後端
這樣具有比組合語言更好的可讀性
作者:
freef1y3
( )
2018-07-05 23:09:00
先手動優化轉出來的C++, 再手動優化C++轉出來的ASM手動優化也要分pass的概念
作者: dannypsnl (秦書)
2018-07-05 20:30:00
樓上說的是解析器產生器吧?
作者:
tinlans
( )
2018-07-06 01:08:00
怎麼可能只有解析器產生器啊,去複習下 UML 的活動圖。狀態機圖也可以複習一下,其實程式都可以用這些描述。而且因為它本身是查表法的一種,也算是最佳化的一招。
作者:
Neisseria
(Neisseria)
2018-07-04 10:31:00
轉成 C 可攜性應該會比較好,這好像不只一個團隊試過像是 Nim 就是以這個為號召,但那個語言目前不成氣候Vala 也算吧,但是多帶一個 GTK+,runtime 比較肥
作者:
cphe
(魔鬼藏在垃圾筒裡)
2018-07-04 11:03:00
以後的事很難說,早期BIOS也都是用asm,後來uefi發展起來也只有最一開始的phase需要用到asm,其餘都是c不過底層觀念愈清楚對自己寫code或debug還是有幫助的學過組語、學過cpu怎麼讀指令,寫code還是會有不同層面的思考
作者:
Neisseria
(Neisseria)
2018-07-04 13:32:00
我記得 LLVM 算 IR,應該不用再轉成 C (或 C++)我以為原 po 要的是從某個高階語言轉 C (或 C++)但小弟沒修過編譯器的課程,講錯請指教高階語言 -> C -> LLVM -> 機械碼 是這樣嗎?一般的程式設計者不會觀看或手動修改轉出來的 C 或 C++程式碼,只要語義沒有錯掉,理想上轉什麼都沒差甚至不透過 C (或 C++) 這個中介層,直接進 LLVM 也可像 Rust 也是用 LLVM,但沒有生 C (或 C++) 程式碼當然從設計者的角度來看會有差P.S. 講錯請不吝糾正,感恩
作者:
sarafciel
(Cattuz)
2018-07-04 15:36:00
我要轉C/ASM出來看的目的 就是要看底層的實作呀XD如果要看高階抽象的東西原語言的程式碼足矣
作者:
tinlans
( )
2018-07-04 16:03:00
轉成醜爆的 C++ 也不會好讀到哪去自動轉出來的程式碼一般難以閱讀
作者:
Schottky
(順風相送)
2018-07-04 18:10:00
咦我通過了原PO的駭客檢定標準 XDDDD
作者:
Lipraxde
(Lipraxde)
2018-07-04 18:31:00
這樣做有什麼好處?Compiler比較好寫?
作者:
Bencrie
2018-07-04 21:57:00
可以多弄一層中繼碼的中繼碼,創造就業機會
作者:
Neisseria
(Neisseria)
2018-07-04 22:48:00
照原 po 的想法只要寫前端就好,後端就丟給 GCC/Clang要從頭寫後端的那些優化應該也是蠻累人的一件事
作者:
Lipraxde
(Lipraxde)
2018-07-04 23:25:00
應該還是要轉成ir在優化比較好吧,不過最後不會變成為什麼不一開始就用C++寫code嗎
作者:
sarafciel
(Cattuz)
2018-07-04 23:29:00
創造就業機會XDDDD還有一個問題是 我不覺得++的學習成本比IR跟ASM低極端點講 如果為了加速 前端編一堆TMP的Code出來呢?
作者:
tinlans
( )
2018-07-05 00:27:00
先不說 TMP,光是 case label 從 1 排到 10000 的狀態機,就已經是無法閱讀了,但偏偏這是產生器最愛生的玩意。
作者:
james732
(好人超)
2018-07-06 16:52:00
其實我不懂C++哪裡適合當這個中間語言?
作者:
Sex5F
(HTC)
2018-07-08 14:48:00
不可能
作者:
CoNsTaR
((const *))
2018-07-10 10:40:00
轉成c++是複雜化的概念嗎 (X
作者:
Neisseria
(Neisseria)
2018-07-10 11:18:00
Nim 就這樣搞啊,Nim 除了轉 C 也可轉 C++但這樣做有什麼好處要問 Nim 的核心開發者...
作者:
Killercat
(殺人貓™)
2018-07-11 22:52:00
C++跟近代語言其實都比較像是描述語言,你要描述model跟「你想做什麼」,而組語基本上沒有抽象的描述概念所以以標題來講... 我是覺得有點格格不入啦 XD有興趣可以比對一下java跟轉出來的bytecode的差異
作者:
CoNsTaR
((const *))
2018-07-14 06:11:00
樓上我想原Po提組語意思是和組語一樣成為所有語言的底層而高級指的就是有抽象概念吧
作者:
ronin728
(浪人)
2018-07-15 14:09:00
C--
繼續閱讀
[問題] fread fwrite 問題
momoko0581
[問題] 為什麼if的條件會成立?
zzss2003
Re: [問題] mergesort遇到seg fault
cphe
[問題] mergesort遇到seg fault
a0928855286
[問題] 父類別指標指向子類別
Billeve
[問題] 論文附上的code不會讀
schmitt
[問題] encapsulation的應用(C)
zzss2003
[問題] Opaque pointer的應用
zzss2003
[問題] 繼承相關問題請益
lovejomi
[問題] 想請問一款是黑色背景彩色文字的編譯軟體?
power907
Links
booklink
Contact Us: admin [ a t ] ucptt.com