Hello, I am concerned about the reasons that induced Apple to introduce
NSInteger and NSUInteger data types in Objective-C.
AFAIK in the UNIX community LP64 seems to be the facto accepted data
types model for 64 bits programming, and both Intel and GCC compiler
have chosen this model.
<http://www.unix.org/version2/whatsnew/lp64_wp.html>
On the other hand Microsoft C++ compiler has preferred to choose the
LLP64 model.
<http://en.wikipedia.org/wiki/64-bit>
Apple uses GCC and complies with the LP64 model except for the
pronouncement in favor of using 64 to represent integers that turns GCC
LP64 model into an ILP64 model projected for Objective-C.
<http://developer.apple.com/documentation/Cocoa/Conceptual/Cocoa64BitGuide/Cocoa64BitGuide.pdf>
My
question is why the 64 bits Objective-C 2.0 runtime doesn't use the
standard UNIX and GCC data model. This is not a critic; I'm just
looking for the rationale behind their decision.