2009-07-15 66 views
2

我正在用託管和非託管類編寫混合C++/CLI DLL。兩者都需要訪問字符串和其他類型的資源,如Direct3D紋理。將資源添加到Visual C++/CLI混合DLL

如何最好地將它們嵌入到DLL中?似乎有幾種方法可以做到這一點; .resx(新風格,託管),.rc(舊風格),可用於生成.resources文件和(可選)嵌入程序集中。

目前我使用.rc文件和:: LoadString()來獲取我的字符串。我有一個託管包裝爲此將String ^值返回到託管代碼。還有一種將WCHAR *返回本地代碼的類似方法。

有沒有更好的方法來做到這一點?什麼是權衡?例如,我可以使用.resx文件,ResourceManager類用於託管代碼,.rc用於native,但這意味着我無法共享資源等。是否有推薦的方法?

感謝,

阿德

回答

1

我只是用的.resx,如果有任何字符串中的原生代碼需要我用設法得到的東西從我的.resx文件,並將其轉換成一個CString上下一行。

雖然你已經有一個包裝要做到這一點,因此會更容易。

.rc文件是如此1997年的男人!

+2

'rc'文件適用於本地應用程序。他們都還好。晶體管是從1947年,但他們仍然沒問題。 – 2009-07-15 16:31:41

+0

我同意。但是,如果我可以選擇使用1947晶體管,2009晶體管,或兩者兼而有之(我的設備尺寸加倍),我會使用2009年的晶體管。 – demoncodemonkey 2009-07-16 14:03:20