Click here to Skip to main content
15,918,193 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: how to get a memory address into a CString Pin
Mark Salsbery19-Sep-07 11:43
Mark Salsbery19-Sep-07 11:43 
AnswerRe: how to get a memory address into a CString Pin
ThatsAlok19-Sep-07 20:37
ThatsAlok19-Sep-07 20:37 
Questioncheck file status Pin
panrunling19-Sep-07 10:41
panrunling19-Sep-07 10:41 
AnswerRe: check file status Pin
David Crow19-Sep-07 10:56
David Crow19-Sep-07 10:56 
GeneralRe: check file status Pin
panrunling19-Sep-07 11:05
panrunling19-Sep-07 11:05 
QuestionRe: check file status Pin
David Crow19-Sep-07 18:12
David Crow19-Sep-07 18:12 
Question"filename.chm not a windows help file, or the file is corrupted" Pin
tingu19-Sep-07 9:09
tingu19-Sep-07 9:09 
QuestionFast serialization Pin
Budric B.19-Sep-07 9:07
Budric B.19-Sep-07 9:07 
Hi,
I need very fast serialization to disk of a large object (64 MB/128 MB etc). Serializing members one by one is not an option (Boost serialization for example is very slow), and the object does need to be shared across systems so I don't need to worry about endianness. Here's what I came up with:

void saveVoxels(Voxels * voxelData, const char * fileName) throw(...)
{
	using namespace std;
	ofstream file (fileName, ios::out | ios::binary);
	if (file.is_open())
	{	
		file.write((char *)voxelData, sizeof(Voxels));
		unsigned int size = voxelData->m_sliceWidth * voxelData->m_sliceHeight * voxelData->m_numSlices * sizeof(unsigned short);
		file.write((char *)voxelData->m_pTexture, size);
		file.close();
	}
}
Voxels* loadVoxels(const char * fileName) throw(...)
{
	using namespace std;
	ifstream file(fileName, ios::in | ios::binary | ios::ate);
	if (file.is_open())
	{	
		unsigned long size = file.tellg();
		char * memblock = new char [size];
		file.seekg (0, ios::beg);
		file.read (memblock, size);
		file.close();
		
		//initialize
		Voxels * voxelData = (Voxels *) memblock;
		voxelData->m_pTexture = (unsigned short *) (memblock + sizeof(Voxels));
		return voxelData;
	}
}


Which as far as I can tell works. However when deleting the object I get _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) assertion error. I guess I didn't really allocate the m_pTexture pointer which is what gets deleted...Any solutions?


AnswerRe: Fast serialization Pin
El Corazon19-Sep-07 10:10
El Corazon19-Sep-07 10:10 
QuestionRe: Fast serialization Pin
David Crow19-Sep-07 10:34
David Crow19-Sep-07 10:34 
AnswerRe: Fast serialization Pin
Budric B.19-Sep-07 10:53
Budric B.19-Sep-07 10:53 
GeneralRe: Fast serialization Pin
David Crow19-Sep-07 10:55
David Crow19-Sep-07 10:55 
GeneralRe: Fast serialization Pin
Budric B.19-Sep-07 11:10
Budric B.19-Sep-07 11:10 
GeneralRe: Fast serialization Pin
David Crow20-Sep-07 2:38
David Crow20-Sep-07 2:38 
AnswerRe: Fast serialization Pin
Mark Salsbery19-Sep-07 11:52
Mark Salsbery19-Sep-07 11:52 
GeneralRe: Fast serialization Pin
Budric B.20-Sep-07 6:08
Budric B.20-Sep-07 6:08 
QuestionRe: Fast serialization Pin
led mike19-Sep-07 12:04
led mike19-Sep-07 12:04 
AnswerRe: Fast serialization Pin
Nathan Holt at EMOM19-Sep-07 12:07
Nathan Holt at EMOM19-Sep-07 12:07 
GeneralRe: Fast serialization Pin
Budric B.20-Sep-07 6:19
Budric B.20-Sep-07 6:19 
GeneralRe: Fast serialization Pin
Nathan Holt at EMOM20-Sep-07 8:59
Nathan Holt at EMOM20-Sep-07 8:59 
QuestionTrapping DDE messages Pin
__DanC__19-Sep-07 6:16
__DanC__19-Sep-07 6:16 
AnswerRe: Trapping DDE messages Pin
Roger Broomfield19-Sep-07 18:25
Roger Broomfield19-Sep-07 18:25 
GeneralRe: Trapping DDE messages Pin
__DanC__19-Sep-07 22:48
__DanC__19-Sep-07 22:48 
QuestionHelp out with compiler error C2327 Pin
Chris Meech19-Sep-07 4:34
Chris Meech19-Sep-07 4:34 
AnswerRe: Help out with compiler error C2327 Pin
led mike19-Sep-07 4:39
led mike19-Sep-07 4:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.