Re: from 32 to 64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/31/2009 03:12 PM, Patrick Dupre wrote:
> Hello,
>
> I do observe abnormal results with my applications
>
> Moving from a 32 to 64 bits architecture, using, c, C++, perl, is
> they something that I should be aware of ? like size of the
> float, integer ?
>
> Thank.
>
In the C and C++ languages as implemented by GCC on Linux and other Unix
systems use a policy called LP64 for 64-bit systems:
char is 8 bits, short is 16 bits, int is 32 bits (always on 32 and 64
bit systems using LP64).
long is 64-bits (on 64-bit systems, 32-bits on 32-bit systems)
float is always 32-bits
double is always 64-bits
pointers are 64-bits on 64-bit systems, 32-bits on 32-bit systems.

There are a number of programming gothchas that have been well documented.
here is a pointer to some documents on HP (part of which I wrote)
http://docs.hp.com/en/5966-9844/ch03s02.html

But, beware, while Linux and Unix systems have adopted LP64 pretty
universally, other systems use LLP64 and ILP64.

The bottom line when writing programs is not to assume anything. Use
types like int32_t, or int64_t for signed integrals, use size_t for
sizes. That will generally be 32-bit on 32-bit systems and 64-bits on
64-bit systems.

-- 
Jerry Feldman <gaf@xxxxxxx>
Boston Linux and Unix
PGP key id: 537C5846
PGP Key fingerprint: 3D1B 8377 A3C0 A5F2 ECBB  CA3B 4607 4319 537C 5846


Attachment: signature.asc
Description: OpenPGP digital signature

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora Magazine]     [Fedora News]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux