https://developer.apple.com/jp/documentation/ProgrammingWithObjectiveC.pdfを22ページ読んだとこで飽きた😃
もうコンパイルする!素朴なほうが理解しやすいので一番素朴なアレで。
以下のようにして、Terminalから
$ clang -o test sample.m main.m -framework Foundation -fobjc-arc
でコンパイル。コマンドラインビルドの場合、ARC(Automatic Reference Counting)を明示的にONにするように-fobjc-arc
の指定が必要そう。これを指定しないと[[[Sample alloc] init] autorelease]
でも怒られない。
[sample.h]
#import <Foundation/NSObject.h> @interface Sample : NSObject - (void) echo: (const char*) msg; @end
[sample.m]
#include <stdio.h> #import "sample.h" @implementation Sample - (void) echo: (const char*) msg { puts(msg); } @end
[main.m]
#import "sample.h" int main(int argc, char* argv[]) { Sample* sample = [[Sample alloc] init] [sample echo: "Hello!!!"]; return 0; }