2012-07-22 52 views
3

我的問題是關於CPP後端,它是否與C後端的用途相同? C後端是我最喜歡的LLVM功能之一,我很不高興它被刪除。LLVM cpp後端,它取代c後端?

真正的區別是什麼? 我非常感謝任何幫助。

參考: The LLVM 3.1 Release Notes 「的C後端已被刪除。」

+0

嗯...我不再使用很多C(偶爾有第三方庫,但是...),但是llvm網站沒有提及刪除C的任何內容?可以說,llvm網站很糟糕,所以沒有發現任何有相當正常的東西:-)他們應該看看gcc手冊網站...... :-) – 2012-07-22 08:36:38

+0

@ChristianStieber:只是爲了澄清,我不是指編譯C通過前面。我正在討論將LLVM程序集編譯爲C,由--march設置,因爲您將指定一個機器目標。真正偉大的方式來獲得較低的槓桿理解,而不必閱讀純粹的組裝。在LLVM <3.1中,你甚至可以重新編譯輸出,它確實是一個很棒的功能。 – TechZilla 2012-07-22 20:09:23

回答

15

的CPP後端創建LLVM API調用來創建表示LLVM組件相當於一個AST。您可以通過選擇「LLVM C++ API代碼」目標來嘗試CPP後端http://llvm.org/demo/

C後端創建C代碼來執行LLVM程序集的語義。

它們從根本上不同。

+1

C後端已從最新的LLVM中刪除。沒有人維護它,它變得越來越不起作用。 – 2012-07-22 12:00:52

+0

@RichardPennington感謝您的確認。無人維護的軟件不好:) – 2012-07-22 12:06:36

+0

CPP後端可以重新編譯嗎?現在是否將新的LLVM庫依賴項添加到最終的二進制文件? CPP重新編譯是否仍然依賴於最初包含的庫? – TechZilla 2012-07-22 20:15:32