由于某些有缺陷的第三方库,我的代码只能在调试模式下运行。
由于我使用了相当多的std :: vector,因此代码在调试模式下相当慢(因为它使用调试STL),现在有人说使用运行时库代替。
我将代码生成从/ MDd交换到/ MD,现在我的代码在一些基本功能上失败了。
例如,我有从这样的文件中提取数据的代码:
template <class T> void ExtractData(std::string fileName, int& dataSize, std::vector<T>& data) {
std::ifstream myfile;
myfile.open(fileName, std::ios_base::binary);
if (myfile.is_open()) {
myfile.seekg(0, std::ios::end);
int size = (int)(myfile.tellg());
dataSize = size / sizeof(T);
data.resize(size / sizeof(T));
myfile.seekg(0, std::ios::beg);
myfile.read( (char*)&data.at(0), size );
}
myfile.close();
}
并且此代码在myfile.seekg()上失败,但在ntdll.dll中有一些例外
我该怎么办?