I have heard of stdint.h but not inttypes.h
I just looked at one on a linux system, PRIdu4 does not seem to be
cross-platform. there IS a PRId64.
I looked it up, and I think I need to switch my way of using printf on
cross-platform. however, size_t is an icky one, because DJGPP does not support
size_t in printf. it is the one compiler that throws a monkey wrench into the
entire works.
I just found out that on 64-bit systems, size_t and size_type are 64-bit. on
32-bit systems they are 32-bit. this leaves me with #ifdef-ing my way through
a lot of my code. I would much rather be using some sort of macro that can
change its bit width depending on 32 or 64-bit at compile time, or use some
*standard* cout and printf ways of displaying size_t and size_type!
changeable data types make cross-platform coding a headache, as I am sure you
are well aware.
I would prefer some sort of standard OR some way I can standardize a way of
doing this. I think I have a way, I am making my own standard, a quprintf.h
file which has some #defines for STPRINTFD, STPRINTFU, SZTPRINTFD, SZTPRINTFU.
too bad the standard says that the definition in any particular compiler of
size_t should not be relied upon.
>________________________________
> From: JonY <[email protected]>
>To: [email protected]
>Sent: Friday, February 10, 2012 1:03 AM
>Subject: Re: [Mingw-w64-public] sizeof(size_t) on 64-bit systems with auto
>build?
>
>On 2/10/2012 08:24, Jim Michaels wrote:
>> is PRIdu4 some sort of built-in macro?
>>
>>
>>
>> I will probably use the %Iu since it works with either platform and most
>> implementations use size_t for their definitions of size_type (but not
>> everything is in g++!).
>> I tried
>> find . -exec egrep "typedef[ \t].*[ \t]size_type;" {} ; -print
>> and got some very interesting answers...
>>
>
>Hi,
>
>%Iu isn't very useful outside of Windows.
>
>I'm surprised you have not heard of stdint.h and inttypes.h, yes, they
>are part of the C99 macros, simply include inttypes.h and stdint.h to
>make it work.
>
>Starting with MSVC 2010, MS has provided stdint.h, but not inttypes.h,
>see <https://code.google.com/p/msinttypes/> for msvc versions.
>
>
>------------------------------------------------------------------------------
>Virtualization & Cloud Management Using Capacity Planning
>Cloud computing makes use of virtualization - but cloud computing
>also focuses on allowing computing to be delivered as a service.
>http://www.accelacomm.com/jaw/sfnl/114/51521223/
>_______________________________________________
>Mingw-w64-public mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
>
>------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public