This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: unix/MS binary file format


"Isselmou Ould-Dellahy" <iod@ccrl.mot.com> writes:
> Hi,
> 
> I would like to create and to be able to read binary files
> on cygwin, such that I can use such files under unix.
> 
> Actually under cygnus the binary files are coded in
> unix reverse order. For example when I put the integer 327656666
> in a binary file (using fwrite) and display it using "od -c"
> I have :
> 
> Unix format :
> 0000000 023 207 244 332
> 0000004
> NT format :
> 0000000 332 244 207 023
> 0000004
> 
> My question is : how can I generate and read unix binary
>                  file format under cygwin ?
> 

It's not an Unix vs Cygwin issue, but rather a "endian-ness" issue,
and hence independent of Cygwin. Little Endian CPUs (eg., x86) will 
store binary data differently by default than Big Endian CPUs (eg., 
SPARC), even when both are running Unix.

Binary files are almost by definition non-portable, but fortunately
that's not the end of the world. There are a variety of libraries 
that will allow you to read/write binary data portably. Please search 
for CDF, HDF, netCDF, XDR. My own code uses a XDR based library that
is customized for our data reader/writer classes.

    HDF         - http://hdf.ncsa.uiuc.edu/
    NetCDF      - http://www.unidata.ucar.edu/
    CDF         - http://nssdc.gsfc.nasa.gov/cdf
    XDR         - Sun's documentation (http://docs.sun.com/)


My preference for general-purpose work is NetCDF, but the others
are just as good. Most of these will build out of the box (and
others have done the port -- check the archives) on Cygwin with
minor configuration tweaks.

Regards,
Mumit


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]