0

Мы тестируем очень простой код сериализации с boost :: serialization. Тест просто записывает std :: string в файл.ускорение выполнения ошибок во время выполнения со строками в окнах

Он компилируется нормально, но проблема в том, что он выдает исключение, когда вызывается оператор < <. Файл остается пустым.

Необработанное исключение в 0x1004b370 (msvcr100d.dll) 0x000000000021647a в TEST.EXE: 0xC0000005: нарушение прав доступа в 0x000000000021647a

Мы используем подталкивания 1,53 библиотеки, скомпилированные с VisualC++ 2010 в Windows 7 64 бит. Также попытался с Intel 12,1 64 бит без успеха.

#include <fstream> 
#include <boost/serialization/string.hpp> 
#include <boost/archive/text_oarchive.hpp> 

int main(int argc, char * argv[]) 
{ 
    std::string s = "HelloWorld!"; 

    std::ofstream file("archive.txt"); 
    boost::archive::text_oarchive oa(file); 

    oa << s; 

    file.close(); 
} 

Любая помощь?

+0

компиляция параметры? – didierc

+0

boost был скомпилирован следующей строкой из загруженной папки: bjam.exe variant = debug link = shared threading = multi runtime-link = shared --stagedir =./--build-type = complete --with-serialization address-model = 64 – auroras

+1

Вы получаете тот же самый сбой при использовании 'stringstream' вместо' ofstream'? –

ответ

0

Мы обнаружили, что проблема связана с директивой preprocess _HAS_ITERATOR_DEBUGGING = 0, которую мы использовали в нашем проекте. При использовании fstream не работает. Любые идеи почему? Это ошибка в fstream (маловероятно) ?. Thanks

Смежные вопросы