簡體   English   中英

有沒有什么方法可以在運行時編譯C ++代碼?

[英]Are there any ways to compile C++ code during runtime?

我為JavaScript編寫了一個復雜的數學庫,它具有從人類可讀的數學表達式字符串生成函數的能力。 有沒有辦法在C ++中實現等效的運行時生成函數?

您可以執行C ++編譯器,讓它生成一個共享庫並將其加載到您的程序中以在運行時運行C ++代碼。 請注意,詳細信息取決於您正在使用的平台,因為Windows和POSIX具有不同的加載共享庫的機制。

FUZxxl的回答是對的,我建議查看Clang / LLVM工具。

這里有一個基本的(不太有幫助的)教程文件 關於在LLVM上編寫語言的廣泛教程。 您可以在C ++應用程序中加載生成的庫。

除非你有一個性能關鍵組件,否則你可以使用ChaiScript (注意:我與它或作者沒有任何關系)

'編譯語言方式'是定義你的語法,構建一個解析器,一個AST(抽象語法樹)並解釋/編譯它。 當你這樣做時,你基本上是在編寫自己的編譯器/解釋器,這很有趣。 如果你想讓它輕松工作,你可以看看提升精神。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM