だから私はこのコードを持っています...
/**
* cdb.m
* Copyright (C) 2013 Naveen Mathew. All rights reserved.
*/
#import <objc/Object.h>
#import "cdb.h"
#import <stdio.h>
#import <stdlib.h>
@implementation CDB : Object
{
}
- (int) main {
printf("Hello world");
return 0;
}
@end
int main(void)
{
CDB *myNumber = [CDB new]; // equal to [[Number alloc] init]
[myNumber main];
return 0;
}
そして、Ubuntu 13.04でコンパイルしたいのですが、GNUStepが私に与えるすべてのがらくたはありません。したがって、GNU Objective C ランタイム (gobjc) を使用しますが、コンパイルすると次のようになります...
clang -Wall -lobjc -o cdb cdb.m -I/usr/lib/gcc/x86_64-linux-gnu/4.7/include
cdb.m:25:21: warning: class method '+new' not found (return type defaults to
'id') [-Wobjc-method-access]
CDB *myNumber = [CDB new]; // equal to [[Number alloc] init]
^ ~~~
1 warning generated.
プログラムを実行すると、セグメンテーション違反が発生します... gobjc 4.7 を使用しています。gobjc 4.6 で試してみました...コンパイルはできますが、まだセグメンテーション違反が発生します...