Objective-C
L'Objective-C est une des langues les plus populaires parce que la popularité des produits électroniques grand public d'Apple: iPhone, iPod Touch, iPad, et MacBook. Ces produits utilisent un système d'exploitation qui a été à l'origine appelé NeXTSTEP. La société NeXT Computer a utilisé Objective-C comme langage de programmation standard pour le système d'exploitation NeXTSTEP (maintenant appelé Mac OS X et iOS).
Ceci est une documentation pour savoir comment compiler des programmes en Objective-C avec le compilateur freeware GNU C Compiler (gcc).
Étant donné les trois fichiers ci-dessous (main.m, list.h, List.m), vous pouvez compiler ces utilisant les étapes suivantes:
Ceci est une documentation pour savoir comment compiler des programmes en Objective-C avec le compilateur freeware GNU C Compiler (gcc).
Étant donné les trois fichiers ci-dessous (main.m, list.h, List.m), vous pouvez compiler ces utilisant les étapes suivantes:
gcc -c -Wno-import main.m gcc -c -Wno-import List.m gcc -o myprogram -Wno-import List.o main.o -lobjc
#import <objc/Object.h> #import "List.h" // Note the new commenting style. main() { id list; // id is a new data type for objects. list = [List new]; // create an instance of class List. [list addEntry: 5]; // send a message to the object list [list print]; [list addEntry: 6]; [list addEntry: 3]; [list print]; [list free]; // get rid of object }
#import <objc/Object.h> @interface List : Object // List is a subclass of the superclass Object { int list[100]; // These are instance variables. int size; } /* Public methods */ - free; - (int) addEntry: (int) num; - print; /* Private methods */ /* Other programs should not use these methods. */ - resetSize; @end
#import "List.h" @implementation List + new // factory method { self = [super new]; [self resetSize]; return self; } - free { return [super free]; } - (int) addEntry: (int) num { list[size++] = num; return size; } - print { int i; printf("\n"); for (i = 0; i < size; ++i) printf ("%i ", list[i]); return self; // Always return self // if nothing else makes sense. } - resetSize { size = 0; return self; }