それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ターミナルのgcc(clang) コマンドでぱぱっとobjective-cのコードをコンパイルしてみるには

objc のコードをちょこっと試したい。

ほんのちょっと試すのに、xcodeで新規ファイル作ったり、ターゲット変えたりするのが面倒じゃない?

ターミナルでぱぱっと実行すればいいんじゃないかと

gcc (clang)でコンパイル

takuya@~/Desktop$ gcc main.m  -framework Foundation

framework を指定すればイイ。

ためしにコードで実験

ホームディレクトリの直下を列挙してみる。

//
//  main.m
//  Sample01
//
//  Created by takuya on 20160308.
//  Copyright © 2016年 takuya. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
  @autoreleasepool {
      // insert code here...
    NSFileManager *fsm = [NSFileManager defaultManager];
    id list = [fsm contentsOfDirectoryAtPath:@"/Users/takuya" error:nil];
    for ( NSString *e in list){
      printf("%s\n", e.UTF8String);
    }

  }
  return 0;
}

実行はいつものとおり a.out

takuya@~/Desktop$ ./a.out
.Xauthority
Applications
Desktop
Documents
Downloads
imgcat
Library
Movies
Music
passwd.txt
Pictures
Public
repos
Sites
tmp
work

チョコっとメソッド動作確認するのにはやっぱりコレが一番便利なんだと思う。

C言語の拡張として書かれているので、Objcはやっぱり偉大だなぁと改めて思う。