Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ Core » serialize and endians on non-x86 machines [BUG]
Re: serialize and endians [message #1233 is a reply to message #1228] Fri, 24 February 2006 10:55 Go to previous message
mirek is currently offline  mirek
Messages: 13984
Registered: November 2005
Ultimate Member
iplayfast wrote on Fri, 24 February 2006 02:26

I was tracing through the serialize example (wow this stuff is impressive).
One thing I noticed is that you are not taking endian into account. (Which is important for some processors.)


Something else which might be important to you when porting to different processors is some processors insist on even boundaries for integer values. That is structures like
pack(1)
struct S
{
char A;
int B;
};

Will cause an exception (and possible crash) when B is selected.

I've run into it when reading data from disk into a structure and then trying to access the data.

EDIT: new topic name by fudadmin



Yes, correct. We are well aware about the issue (Stream.cpp, line 558:

//#must be changed for nonIA32....
Stream& Stream::operator%(bool& d)
....

).

non-x86 archichitetures are one of themes for this year. However, I believe that it cannot be done correctly before we start testing on real HW... (which is to happen soon with ARM/WinCE).

BTW, "//#" comment is used thoughout the code to signal CPU dependent stuff.

Mirek

[Updated on: Fri, 24 February 2006 10:56]

Report message to a moderator

 
Read Message BugConfirmed.gif
Read Message
Previous Topic: HttpClient logs in Release mode
Next Topic: Linux - Windows Mt.h/cpp [BUG?]
Goto Forum:
  


Current Time: Mon Jun 03 22:16:49 CEST 2024

Total time taken to generate the page: 0.01822 seconds