2015-06-09 46 views
-2

我有一個第三方基於VC++的DLL,我想在Java項目中使用它的頭文件。我發現BridJ是一個很好的解決方案,但是頭文件非常複雜,以至於JNAerator扼殺了它,並以100%的CPU凍結,最後用OutOfMemoryError: Java heap space進行了救援。所以我必須自己從頭文件中爲需要的東西編寫綁定。「class」和VC++中的類名之間的意思是什麼?

現在,我必須通過註釋來引導BridJ。對於這一點,我看了看標題,我發現部分看起來像我不明白如下:

namespace SomeNamespace { 
    class SomethingStrange TheClass { 
    public: 
     TheClass(); 
    // more 
    } 
} 

所以,我想知道:是什麼意思SomethingStrange這裏?這是另一個孩子名字空間嗎?我如何在BridJ中正確連接它?

+2

你對'SomethingStrange'有特定的價值嗎? – Bathsheba

+0

你可以顯示什麼'SomethingStrange'在實際的代碼? – NathanOliver

+0

我不能,因爲我不允許發佈標題的一部分。 – rabejens

回答

2

當生成DLL時,SomethingStrange將歸結爲__declspec(dllexport)

使用那個DLL時,它會歸結爲__declspec(dllimport)

它們允許特定DLL的作者和用戶使用類聲明。

他們「歸結爲」通常由編譯器標誌控制通過項目設置。

+0

你似乎是對的,我只是忽略'SomethingStrange',它似乎到目前爲止 – rabejens

+0

右鍵點擊它,看看它的定義。 – Bathsheba

相關問題