我有一个DirectXXaml项目,我的游戏代码是用纯C++编写的,我需要在我的一个类中打开一个文件。我该怎么做?
我想我必须使用#pragma managed
,但没有结果。
以前我有这个代码:
void DataLoader::load(std::string const& file) {
std::ifstream fileStream(file.c_str(), ios::binary);
fileStream.seekg(0, ios::end);
_dataSize = fileStream.tellg();
fileStream.seekg(0, ios::beg);
std::vector<char> buffer(_dataSize);
fileStream.read(&buffer[0], buffer.size());
_data = new ByteArray(buffer);
fileStream.close();
dispatchEvent(new Event(Event::COMPLETE));
}
如何在此处使用C++/CX?
要使用C++/CX,您需要为正在构建的项目打开/ZW标志。您可以在项目属性->配置属性->C/C++->使用Windows运行时扩展下找到此设置。如果还没有,请将此选项设置为"是"。
打开此标志后,您应该能够从现有的C++代码中调用C++/CX Windows运行时API。
这是我不久前写的一篇关于这个主题的博客文章,你可能会遇到这样的情况,你只想在你的项目中包含一些文件的/ZW标志,这可以做到:http://robwirving.com/2013/10/01/windows-phone-8-native-dev-tip-hack-your-vcxproj-file-to-selectively-include-the-winrt-extensions/