UbuntuでObjective-C開発

Macじゃ無くてもgcc入ってればobjcの開発できるよー

って事でObjective-Cを書いてみた

元ネタはProjectEuler problem 10.


#import
#import
#import

@interface ProjectEuler : Object
- (BOOL)isPrime : (int)n;
@end

@implementation ProjectEuler
- (BOOL)isPrime : (int)n {
if (n < 2)
return NO;
if (n == 2)
return YES;
if (n % 2 == 0)
return NO;
int i = 3;
while (i * i <= n) {
if (n % i == 0)
return NO;
i += 2;
}
return YES;
}
@end

int main() {
clock_t start, end;
start = clock();

int i,cnt=0;
unsigned long sum=0;
id pe = [ProjectEuler alloc];
for (i=1;i<=1000000;++i) {
if ([pe isPrime:i]) {
++cnt;
sum += i;
//printf("%d is prime number.\nsum=%Ld\n", i, sum);
}
//printf("%d\n",i);
}
printf("count:%d\nsum:%Ld\n",cnt,sum);
end = clock();
printf("execute time: %fsec.\n", (double)(end - start) / CLOCKS_PER_SEC);
return 0;
}

あれだね、なんか普通にCじゃんこれって(笑)

違うのは
インターフェイス作って実装
idがポインタ
TRUE,FALSEがYES,NO (笑)

ってとこか

コンパイルのときにgcc 10.m -o 10ってやったらエラー出ちゃったので下記のコマンドにしたらうまくいった


shell> gcc 10.m -o 10 -l objc

調べたらPyobjcとかってのもあるみたい