У меня есть кросс-платформенное приложение для ведения журналов, которое я разрабатывал для Windows с MSVC на выходных, а затем на моем linux box с помощью GCC / Code :: Blocks этим утром оно вылетает, как только открывает выходной файлиспользуя ofstream.
Конкретный код выглядел следующим образом: буквально первые 8 строк выполнялись в программе
stringstream strFile;
strFile<<filename;
strFile<<".result.out";
out.open(strFile.str().c_str());
out<<"Count"<<"\t";
out<<"TM"<<"\t";
out<<"Type"<<"\t";
out<<"Seconds"<<"\t";
. После выяснения проблемы я позже создал минимальное приложение, котороете же симптомы
#pragma pack(1) // remove this and it will run without incident
#include <fstream>
using namespace std;
int main()
{
ofstream out;
out.open("test.txt");
for(int x = 0;x < 10000; x++)
{
out<<"This is a test"<<endl; // crashes on first output
}
out.close();
return 0;
}