Surface

本頁の目的: TCC for Mac

近年組み込み用や効率的開発用に急速に普及している 超高速・超軽量Cコンパイラ tiny C compiler (tcc) を 管理者権限無しでMacOSで使えるように作成してみました。  本頁の注意事項を理解した上で利用してください。

それでもtccではなくApple純正コンパイラを使いたい人は... 操作の途中で、大抵は管理者権限(のパスワード)やappleIDなどが必要になる。
  1. "ターミナル" の窓で 「xcode-select --install 改行」を打ち込み、 Command Line Toolsの「インストールする」を押す。 「sudo xcodebuild...」などと 頭に`sudo'を付けて類似の操作をせよなどの指示がなされる場合が有ります。
  2. 又は Apple Developerから、自分のOSの版に適合する Command Line Toolsを探してインストーラをダウンロードしてください。 これを起動して、指示通りに手続きをするとXcodeなしでAppleご謹製の純正コンパイラー「cc」が"ターミナル"で使えます。
  3. AppStoreなどでXcodeをインストールする(Command Line Toolsがうまく入らなかった場合)。 開発キット全てがインストールされるとディスクを圧迫します。
  4. Developper用Command Line ToolsやXcodeが正常に導入されると「cc」または「clang」あるいは「gcc」が使えるようになります。「cc hello.c -o hello 改行」などでソースのファイルから実行ファイル「hello」が出来ていることを確認して下さい(lsを使う)。「gcc」や「tcc」の替わりに「cc」或いは「clang」と読み替えて使って下さい(MacOSの版に依る)。
    ■ この実行ファイルを起動するには「./hello 改行」などと頭に`./'を加えるのが標準です。

0. ターミナルが使えることが前提です。

アプリケーション→ユーティリティ→ターミナル... BSD-Unixの機能が使えるようになります。その窓の中でコマンドライン(パソコンへの指示の文字列)を打ち込んで下さい。
  1. ファイル名の表示は「ls 改行dirでは無い、エル・エス
  2. ファイルの詳細に関する表示は「ls -l 改行後ろに ハイフン・エル
  3. ファイルの詳細に関する表示は「cat ファイル名 改行typeでは無い
  4. カレントディレクトリの移動は「cd ディレクトリ名 改行「pwd 改行」でカレントディレクトリ名の表示
コマンドラインは 改行 を打ち込むまでの1行が基本的に一つの指示です。
以下、括弧「...」の内部はコマンドラインで打ち込む命令文です。

1. 自分の「ホーム」ディレクトリ、シェルを知る

ターミナルの窓で...

  1. 「echo $HOME 改行 」で現れるのが自分の「ホーム」ディレクトリ。
  2. 「echo $SHELL 改行 」で現れるのが自分のシェルです。

2. パッケージの入手

パッケージ tcc_mac をダウンロードする。 展開して(ダウンロード方法によっては自動展開されている)、 bin/, include/, lib/, share/, tccrun が含まれている `tcc_mac' というフォルダー が有ることを確認する。前4者はフォルダー。

3. インストール

展開

インストール箇所をいずれかを選んで、フォルダー tcc_mac を移動して下さい。
  1. tcc_mac を `アプリケーション' に移動する。 「ls /Applications 改行」でtcc_macが現れるはず。
  2. tcc_mac を自分のホームディレクトリに置いてもよい。管理者権限を使わず可能。 「ls $HOME/ 改行」でtcc_macが現れるはず。
  3. その他好きな場所に tcc_mac を置くことは可能
    PATH設定 が必要に... 自分でやって下さい。
    シェルが/bin/csh, /bin/tcshの場合には echo 'setenv PATH="$PATH":▲▲▲▲/tcc_mac >> $HOME/.cshrc' 改行
    それ以外のb-sh系シェルの場合には 「echo 'export PATH="$PATH":▲▲▲▲' >> $HOME/※※※※ 改行 」でPATHが設定される。ここで▲▲▲▲はtcc_macフォルダの絶対ディレクトリ名、 また ※※※※部分は、シェルが/bin/shならば「.profile」、 /bin/bashならば 「.bash_profile」、/bin/zshならば「.zshrc」です。先頭のピリオドを斜線の直後に(空白を入れずに)打ち込むこと。

PATH設定

移動した tcc_macフォルダー の中にある InstTCC.command をダブルクリックで開くと`Tcc-setup OK.'と表示されて、PATHが設定されるはず。 うまく行かない場合には、右ボタンで`このアプリで開く→ターミナル'で起動する。
メッセージ冒頭の `TCC_ROOT = ...' で自分の置いたtcc_macのフォルダーが正しく表示されていればOk.

`開発元が未確認のため...'が現れたら... AppleMenu(左上の林檎) >> システム環境設定 >> セキュリティーとプライバシー → 一般 で `InstTCC〜は開発元が確認出来ないため開けません'の隣の`このまま開く'を押す。

※ ここで一旦 ターミナルの窓を閉じます

以後は必ず 新たなターミナルの窓 で行って下さい。
新たに開いたコターミナルの窓で「tcc --help 改行 」と打ち込んだときに

tcc version 0.9.26 - Tiny C Compiler - Copyright (C) 2001-2006 Fabrice Bellard
Usage: tcc [options...] [-o outfile] [-c] infile(s)...
...中略...
-MF depfile put generated dependencies here
などと表示されればインストールは成功です。

4. 動作確認

自分のプログラムの置き場所 (作業用ディレクトリ) を決め、以下を順に行う。
  1. 作業用ディレクトリを作成して下さい。 例えば、`書類→prog2021'の場合には、
    「mkdir Documents/prog2021 改行」で出来る。 Documents と prog2021 との間の斜線の前後には空白を置かないこと。
    ファインダーで`書類'を開いた状態で行うとprog2021が発生するのが見えます。
  2. その中に、例えばhello.cなどの適当なプログラムを置く。
  3. 「cd Documents/prog2021 改行」などでターミナルのカレントディレクトリをそのファイル置き場に移る。

    ※ ターミナル窓のカレントのディレクトリは「pwd 改行」で明示されます。 標準では、コマンドを打ち込める状態になって居るときに、左端にマシン名やユーザー名とともに、 カレントのディレクトリが表示されている。

  4. 「tcc hello.c 改行」などで コンパイルと実行 が行われる。。

マシンのCPU種別は適当に判別して、Intel-x86の64bitマシンならどれでも動く(はず)。 Arm (AppleSilicon M1など)でもたぶん動く。誰か試して下さい...

5. コンパイル

ソースプログラムの作成

一般にソースプログラムは予めエディタ(文字列編集アプリ)等で別途作成して下さい。
主なエディタ...
  1. mimikaki 昔からmacで使われている軽いソフト。副作用が少ない
  2. picoクローン。 ターミナル窓の中で「nano ファイル名 改行」とすると起動されます。 nano ではなくpicoで起動する場合も有ります。 操作 が容易。 Macを含む大抵のUnix/Linuxで装備。見た目の画面上で、コントロールキーのみで作業が出来て、分かり易い。 なぜピコなのにナノ なのか...
  3. vi。Unix/Linux(一部のwindows)で必須の超高機能エディタ。 推奨はするが、慣れるまでにやや壁がある。 これでも visual なアプリと言うことになって居る
  4. TextEdit.app。 マックでは標準の“テキストエディット”。 `アプリケーション'フォルダに初めから入っている。 必ず `フォーマット→標準テキストにする' で文字以外の修飾データを除去することが必要。 ’環境設定→新規書類' のフォーマットで`’標準テキスト’にしておくと良い。

プログラムの実行

ソースプログラムのファイルがカレントディレクトリにある事が必要です。
ソースファイル sample1.c が有れば、 「tcc sample1.c 改行」 で コンパイルと実行がなされます。

Mac版tccでは、実行ファイルは保存されません。プログラムにエラーがあれば、その箇所が表示されます。 エラーにならずにコンパイルできた場合には、CPU種別や OSの版を判別しながら メモリー上に実行ファイルを展開して、即座に実行します。

6. よくあるトラブル

プログラム作成時の注意事項:

ファイルが有るか(「ls 改行」 または 「ls -l 改行」)、ファイルの内容が正しいか(「cat ファイル名 改行」をよく確認した上で、エラーが表示される場合には、
`よくあるトラブル' (Windows版の頁) を観て下さい。

7. tccの使い方など

tcc.exeの詳細は下記を参考にして下さい。
  1. tccの作者の頁 の Online Documentation
  2. 詳細は、自分でインストールしたマシンの tcc_mac の中にある share/doc/tcc/tcc-doc.html を参照。
  3. 不明点は tccの著者の頁 の下方にある Linksのなかから解決方法を 探し出して下さい。

ホームディレクトリや/Applications, /opt 以外の非標準的な任意のディレクトリ(フォルダー)にtccをインストールすることはできます。 その場合には シェルの起動設定に適切なPATHを追加する必要が有ります。
※ 一般に インストールするディレクトリーやコンパイルに関わるファイルの名称に空白文字や日本語文字が入っているとコンパイラが正常に起動しないことがあります。

※ 注意事項

本頁では tcc/gcc の使い方をサポートすることは有りません

上記の操作での動作確認や資料の引用は 2021年4月現在に行っていますが、必ずしも 全ての場合で保証するものでは有りません。 また、管理者権限で不用意な操作を行うとファイルを紛失したりシステムを破損することが有ります。 これらのことを認識した上で、自己責任で行って下さい。