2010-06-25 49 views
2

我在說ROOT's CINT任何有將CINT嵌入到C++應用程序的經驗的人?

我一直在用C++開發一個遊戲,用Python編程AI。就像我喜歡Python一樣,它對編程AI(生成器和FP非常性感)有多容易,它使得非平凡的algorythms運行,所以緩慢。

然後我想起我讀了關於CINT的地方,以及它如何嵌入。現在我需要您的幫助來決定是否將CINT實現爲備用腳本系統。用Python我使用Boost :: Python,這使得它幾乎unpainfull公開類和對象一旦你習慣了它。 CINT有那麼簡單嗎?

謝謝。

回答

1

我已經編寫了針對Root編譯的類,然後直接在解釋器中訪問它們。這很容易,但所有這些類都預計從TObject。我不知道的是,如果這是一個新要求或ROOT要求。你可能是最好關閉,要求對RootTalk CINT Support forum


要解決的意見問題:

  • TObject推導可以秒針:你的類可以從TObject派生出來的衍生,它只需要就是一個TObject。
  • Root提供了一個工具(makecint)和一些宏(ClassDefClassImp)來支持您的代碼與解釋執行環境的集成:編寫從TObject派生它的類;在頭文件中包含ClassDef宏,在源文件中包含ClassImp宏;在代碼上運行makecint以生成所有繁瑣的集成無意義,然後將您的代碼生成的代碼編譯爲共享對象(或者,我認爲是windows框中的dll);開始翻譯;用.L加載庫;並且您的課程與解釋環境完全集成(選項卡完成將可以工作,而所有這些)。構建可以通過make(以及其他可能的工具)實現自動化。 ##再一次,##我不知道這有多少屬於ROOT和多少cint。但它是全部開源的,所以你可以阻止和適應你需要的東西。
+0

我認爲你可以做一個包裝類,從你的暴露對象和TObject派生出來的類。這將避免修改你現有的類。順便說一句,你能再詳細一點嗎?將它納入你的構建系統有多難?整合,鏈接是否容易?我很感興趣:) – Fabzter 2010-06-25 01:56:57

相關問題