Objective-C

初めてのObjective-Cを3分でコンパイル&実行@Terminal

nariXcode

Hello, World!

サンプルコード

Objective-Cの実装ファイルの拡張子は.m です。今回、ファイル名はmain.mとします。
(因みに、ヘッダーファイルの拡張子はCやC++と同じく.h or .hppです)

1#import <Foundation/Foundation.h>
2
3int main(int argc, const char * argv[]) {
4    @autoreleasepool {
5        NSLog(@"Hello, World!");
6    }
7    return 0;
8}

冒頭は#includeではなく、#importであるところに気をつけてください。
#importはヘッダーファイルを多重に読み込まないようになっています。

Terminalでコンパイル&実行

clangもしくはmakeコマンドでコンパイルできます。

clang -framework Foundation main.m -o hello

-framework Foundationを省略すると以下のようなUndefined symbols for architecture arm64というエラーが出ます。

Undefined symbols for architecture arm64:
  "_NSLog", referenced from:
      _main in main-46655b.o
  "___CFConstantStringClassReference", referenced from:
      CFString in main-46655b.o
  "_objc_autoreleasePoolPop", referenced from:
      _main in main-46655b.o
  "_objc_autoreleasePoolPush", referenced from:
      _main in main-46655b.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

ビルドが成功したら普通に実行します。

./hello

実行結果例

2023-02-22 21:47:00.420 hello[64437:2627386] Hello, World!

Xcodeなら1分で

プロジェクト作成 (57秒)

  1. Xcodeを開きます
  2. shift + command + Nで新しいプロジェクトを作成します
  3. テンプレート選択で、macOS > Command Line Toolsを選択します
  4. 言語の欄をSwiftからObjective-Cに変更します
    • プロジェクト名は自由に決めてください
3. Command Line Toolを選択
4. 言語はObjective-Cを選択

実行 (3秒)

command + R、もしくは画面左上の再生ボタン▶︎を押します。

実行開始すると、Debug Areaと呼ばれる画面中央下に実行結果が表示されます。

Debug Areaを表示するにはcommand + shift + C、非表示にするにはcommand + shift + Yです。

ABOUT ME
記事URLをコピーしました