将资源添加到Visual C ++ / CLI混合DLL

时间:2009-07-15 16:06:20

标签: visual-studio-2008 visual-c++ c++-cli

我正在编写一个包含托管和非托管类的混合C ++ / CLI DLL。两者都需要访问字符串和其他类型的资源,如Direct3D纹理。

如何最好地将它们嵌入DLL中?似乎有几种方法可以做到这一点; .resx(新样式,托管),. rc(旧样式),可用于生成.resources文件和(可选)嵌入到程序集中。

目前我正在使用.rc文件和:: LoadString()来获取我的字符串。我有一个托管包装器,用于将String ^值返回给托管代码。以及将WCHAR *返回到本机代码的类似方法。

有更好的方法吗?有什么权衡?我可以使用.resx文件和ResourceManager类用于托管代码,而.rc用于本机,但这意味着我无法共享资源等。是否有推荐的方法?

谢谢,

阿德

1 个答案:

答案 0 :(得分:1)

我只使用.resx,如果有本地代码需要的任何字符串,我会使用托管来从我的.resx文件中获取内容并将其转换为下一行的CString。

虽然你已经有了一个包装器来做到这一点,但它会更容易。

.rc文件是1997年的男人!