我正在编写一个包含托管和非托管类的混合C ++ / CLI DLL。两者都需要访问字符串和其他类型的资源,如Direct3D纹理。
如何最好地将它们嵌入DLL中?似乎有几种方法可以做到这一点; .resx(新样式,托管),. rc(旧样式),可用于生成.resources文件和(可选)嵌入到程序集中。
目前我正在使用.rc文件和:: LoadString()来获取我的字符串。我有一个托管包装器,用于将String ^值返回给托管代码。以及将WCHAR *返回到本机代码的类似方法。
有更好的方法吗?有什么权衡?我可以使用.resx文件和ResourceManager类用于托管代码,而.rc用于本机,但这意味着我无法共享资源等。是否有推荐的方法?
谢谢,
阿德
答案 0 :(得分:1)
我只使用.resx,如果有本地代码需要的任何字符串,我会使用托管来从我的.resx文件中获取内容并将其转换为下一行的CString。
虽然你已经有了一个包装器来做到这一点,但它会更容易。
.rc文件是1997年的男人!