On 1/12/17, Andrew Robinson <arobinso...@cox.net> wrote:
>>I think your understanding of NULL and nil is completely wrong here
>>and you are creating a straw-man. As I already explained, both are
>>defined as 0. There is no difference to the computer.
>
> You are wrong here, and I think that says all I need to say about the rest
> of
> your "argument". Nil is defined as an object, and null as a zero. Read all
> about it here:
> http://www.codingexplorer.com/swift-optionals-declaration-unwrapping-and-binding/
>
> You don't unwrap or bind strings, you unwrap or bind objects. A nil object
> represents an object which has not been instantiated. It is not zero and
> never
> has been.
>
> Best Regards,
>
> Andrew
>

You are lost in the abstraction layer and are missing what’s actually
going on at the machine level.

Let me spell it out for you:
- Cocoa/CocoaTouch is implemented in Objective-C.
- I’m implementing the IUP backend in Objective-C.
- Objective-C is a pure superset of C.


In objc.h: nil is defined as:
#   define nil __DARWIN_NULL


In C, NULL is generally provided by stddef.h, which goes into platform
headers. This will lead you to sys/_types/_null.h
#define NULL  __DARWIN_NULL

See? Both nil and NULL are the same.


In sys/_types/_types.h, you’ll find the definition for _DARWIN_NULL
#define __DARWIN_NULL 0

See? The value is 0.


Thanks,
Eric

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to