From: George G. <tm...@in...> - 2002-08-10 20:16:45
|
On Sun, Aug 11, 2002 at 01:39:42AM +0700, Oleg Sesov wrote: > I suppose storing c/c++ structs is not a good way to make portable data > base Not trying to make a portable data base between O/S's -- not a requirement for any forseeable future for us. > #pragma pack( push, 4 ) > Hope this help. No, it doesn't at all, because it refers to how to make a portable data base, which is not the point of the email. The data base situation was just HOW the change in GCC was discovered and demonstrated. The point is that alignment changed in MinGW between two versions. Don't care if it is different than Linux or not. Care whether it is inconsistent in MinGW versions. Don't even really care about that, because I know there are ways to deal with this change. Just want to find out if that change is intentional, and whether it will be in flux and happen again in version 3.2, or 3.3, or whatever. In that case, attention will need to be paid to portability -- but not between O/S's, but between GCC versions. I presumed alignment was set to match MS requirements. If alignment changed in 3.1.1, I wonder if it will affect other structs besides the ones in the data base (such as structs in the O/S API -- perhaps not, because our structs were not made with minimizing padding as a requirement)? No answer to that now, because have gone back to 3.1 until a decision is made about how to deal with this. Part of that decision will be based on finding out if this is a local problem while compiling 3.1.1, a permanent change from 3.1.1 onwards in GCC, etc. |