Surface

本頁の目的: TCC fow Windows

この頁では、Windows搭載パソコンに超高速・軽量Cコンパイラ tiny C compiler (tcc) を 導入する方法を記述します。  本頁の注意事項を理解した上で利用してください。

Mac で使う場合には... こちら(tcc_mac) を観て下さい。

gccを使う場合には...
  1. 適当な方法で検索して、適当なパッケージ(例えば mingw-GCC)をインストールして下さい。
  2. 利用したパッケージが想定しているPATHの場所を確認して下さい。
  3. 本頁の tcc は gcc と読み替えて、下記「4. 実行環境..」以降の作業を行って下さい。
    エラー表示は異なる場合が有ります。

0. コマンドプロンプトが使えることが前提です。

コマンドプロンプトを起動することが出来ない場合には... WIndows7,XP; WIndows8.x ; WIndows10  等を参照するか、
「スタート > プログラムとファイルの検索」 あるいは 「何でも聞いて下さい」で 『cmd』を検索して現れるアイコンを開く(ダブルクリック)。

1. Windowsの種類を調べる

32bit版 / 64bit版が分からない場合には... 下記のいずれかの方法でお手許の windowsが 32ビットか64ビットかを調べることができます。
  1. コントロールパネルの システム から判断する。
  2. コマンドプロンプトの画面で 「echo %PROCESSOR_ARCHITECTURE%」打ち込んで最後に 改行 (またはEnterキー)。
    画面上に「x86」があらわれれば32ビット版、「AMD64」か現れれば64ビット版です。
  3. コマンドプロンプトの画面で 「control system 改行 」 又は 「control.exe /name Microsoft.System 改行 」を打ち込み、
    現れた画面の「システムの種類」で32ビット版か64ビット版かを判断できる。

2. インストール先の確保

通常のインストール先は c:\opt\tcc です ( c:\opt の中に ディレクトリtcc を入れます)。
c:\opt\が無い、あるいは分からない場合には ... コマンドプロンプトの画面で 「mkdir c:\opt 改行 」を打ち込む)。
■ この操作には、管理者権限が必要になる場合が有ります。 失敗した場合には、管理者としてコマンドプロンプトを起動するか、 管理者権限のあるユーザーでログインし直して下さい。
うまく行った場合には、「dir c:\opt 改行」又は「start c:\opt 改行」を打ちこんで、 空のフォルダー c:¥optがあらわれることを確認して下さい。
■ 半角の文字「¥」は 半角の文字「\」 を使わないといけない機種があります、あるいは逆の機種もあります(以下同様)。

3. パッケージの入手

インストーラをダウンロードする。 32ビット版用なら tcc-0.9.26-win32-bin.zip を、 64ビット版用なら tcc-0.9.26-win64-bin.zip を ダウンロードする。
本家 tccのwebページに種々の版があります。

通常は「ダウンロードの表示」または「開く」などで圧縮ファイルが展開され、フォルダ「tcc」が見える。 このパッケージの内容を、「tcc」のフォルダーごと「c:\opt」のフォルダーの中にコピーする。

正しく展開されているか確認するには... ■ コマンドプロンプトの画面で 「dir c:\opt\tcc」または「start c:\opt\tcc」を打ち込んで 改行 (またはEnterキーを押す)すると、 tcc.exe(アプリケーション)のアイコンと、doc, include, lib, libtcc などのフォルダーがあらわれればインストール成功です。

4. 実行環境の設定

環境変数PATHを設定する必要が有ります。
ファイル tcc.exeの入っているディレクトリ(通常は c:\opt\tcc )を追加して下さい。

設定済みリンクファイル Command_Prompt-tcc を用意しました。
PATHの設定が判らない人は... 以下の方法のいずれかでPATHの追加をして下さい。

4.1 設定済みリンクファイル の利用

リンクファイル Command_Prompt-tcc をダウンロードし、デスクトップなどの使いやすいところに置く。 一応通常のインストールのなされたwindowsで、コマンドプロンプト内でのみPATHを有効にする (コマンドプロンプト以外の副作用の無い)起動用ショートカットリンクを提供します。
windwosの版に依ってはうまく動かないかも...。
以後コンパイラを使うときはこの Command_Prompt-tcc の窓からコンパイラtccを起動して下さい。 フォントのインストール状況によってはこの窓の中の文字が見えにくい場合が有りますが、その場合には このアイコンのプロパティでフォントを 設定し直して下さい(普通は「MSゴシック」が無難)。

4.2 コマンドプロンプトのコピーに追加設定

設定済みリンクファイルが使えない、あるいは 自力で設定できるひとは...
  1. cmdの起動アイコンから右ボタンで 「ファイルの場所を開く」。
  2. 現れた 「コマンドプロンプト(ショートカット)」をコピーし、デスクトップ等にペースト。
  3. コピーした「コマンドプロンプト(ショートカット)」のプロパティー (右ボタン)のリンク先「%windir%¥system32¥cmd.exe」の 後ろに「 /K "path c:¥opt¥tcc;%PATH%"」を追加する。
    二重引用符は半角英文字、「/K」の前後と「c:」の前は半角の空白。下線部分は tcc.exe のあるディレクトリ。
  4. 「Ok」を押したら、次からはこの「コマンドプロンプト(ショートカット)」を使う。

4.3 システム環境設定

コントロールパネルで設定します... スタートメニュー → Windowsシステムツール → コントロールパネル を開き、 ユーザーアカウント → ユーザーアカウント → 環境変数の変更(左側) で、環境変数PATHの最後に「;c:\opt\tcc」を追加して下さい。
この変更は、間違えるとシステム全体を壊す可能性があります。

環境変数の設定方法は各自で検索して探して下さい。 誤った操作をしない自信が有る方のみが自責を持って行って下さい。 うまく設定が出来れば(コマンドプロンプト内でPATHが c:\opt\tcc に通っていれば)、次からはtccが起動できます。

5. 動作確認

PATHが設定されたコマンドプロンプトの窓で「tcc 改行 」と打ち込んだときに
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
などと表示されればインストールは成功です。
gccを使う場合には... 正しくインストールされていれば、「gcc 改行 」で
gcc: no input files.
と表示されると思います。

6. コンパイル

ソースプログラムは予めTeraPadサクラエディタなどのエディタで別途作成して下さい。 Windows日本語版では文字コードは シフトjis (SJIS) を使って下さい(OSの設定を変えていない標準の場合)。 OS添付のメモ帳(notepad.exe)は文字コードが勝手に変わることがあるので、原則として使わない。MS-VisualStudioも要注意。
ソースプログラムのファイルがカレントディレクトリにある事が必要です。

確認するには... コマンドプロンプトで「dir 改行」でファイル名一覧を表示して、 意図したファイルの名前が表示されるはず。
ソースファイルが sample1.c で有れば「type sample1.c改行」でその内容が表示される。
なければ「ファイルが見付かりません」などと表示されるので、「cd ディレクトリ名改行」で ファイルの保存されているディレクトリにカレントを移る(例)
ソースファイル sample1.c が有れば、 「tcc sample1.c -o sample1.exe改行」 で実行ファイル sample1.exe に翻訳されます。
具体的には....
  1. サンプルプログラム(例えば hello.c)を terapadなどのエディターで作り、 適当なフォルダーの中 (例えば `Documents') に保存して下さい。
  2. このtcc用の窓で、今現在作業をしている (カレントの)ディレクトリー を hello.cを保存した場所に 移動してから作業をして下さい。
    「chdir Documents 改行 」若しくは「cd Documents 改行 」など。
  3. カレントのディレクトリーのファイル一覧は「dir 改行 」で 現れるので、そのファイル(hello.c)が見えるかを確認して下さい。
  4. コンパイル指示のコマンド「tcc hello.c -o hello.exe 改行 」を打ち込んでコンパイルをしてみて下さい。
  5. エラーメッセージが出るか、あるいは「dir 改行 」でhello.exeが生成されていれば、コンパイル成功です。

※ tcc.exeの起動は、chdirなどを用いてソースプログラム(例えばhello.c)のある ディレクトリー 内で行うのが 標準です。コンパイルしたいソースプログラムの ファイルが今現在作業をしている (カレントとの)ディレクトリー にあるかは、「dir 改行 」で 現れるか 確認しながらコンパイルを行って下さい。

` tcc: error: file 'hello.c' not found' が出たときには... カレントのディレクトリに hello.c が保存されていないということです。
  1. エディターでファイルの保存場所を Command_Prompt-tccのカレントディレクトリにする
  2. リンクファイルCommand_Prompt-tccのアイコンからプロパティで ショートカットの「作業フォルダー」を ソース「*.c」ファイルを通常置くところに設定する
  3. Command_Prompt-tccの窓のアイコン自体を、hello.cを保存したディレクトリに移す
のいずれかで対処して下さい。

` 'tcc' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。'が出たときには... C言語のコンパイル用のソフトウェア 'tcc' が見つからないことを示しています。
  1. tccがインストールされているか、あるいは
  2. 環境変数PATH が示すフォルダーの tcc.exe のあるフォルダーが含まれているか (PATHが正しくに通っているか) を確認してください。
  3. 現在使用している環境の PATH はコマンドプロンプトで「path 改行」と入力することで見ることができます。
  4. PATHの通っているフォルダーに tcc.exe があるかどうかは、例えば、dir c:\opt\tccなどと書いて、出てきたリストの中にtcc.exeがあるかどうかで確認できます。インストール方法は資料などを再度確認してください。

※ コマンドプロンプトのカレントのディレクトリは「cd 改行」で表示されます。 標準では、その窓の左側に表示されている `C:\Users\yourName>'の`>'より左側の部分です。

OneDrive問題 ソースファイルがなかなか保存されない、実行ファイルがうまく生成されない... カレントディレクトリがOneDriveなどのクラウド領域に有る場合には、 設定によって、保存する際の同期や、実行ファイルのウィルスチェックに相応の時間が掛かる、 登録されたアプリケーション以外からのファイル操作が許されていない、などの可能性が有ります。 その場合には、
  1. まずは本当に意図したディレクトリにファイルを保存しているか、ソースファイルがカレントディレクトリに有るか、をよく調べる。(dirやtypeを使う)
  2. カレントディレクトリのクラウドの設定を変更・更新する(Windows, Office, OneDriveのアップデートを含む)。一般には、アップデートや設定の全ての項目を適切に指定するのは難しい。
  3. 自分のPC内 (クラウド領域以外) にプログラミング用のディレクトリを作成して、その中で作業すること。 例えば `C:\opt'の中で「mkdir prog 改行」を行って`prog'ディレクトリを作る;或いは`C:\Users\yourName>'などのホームディレクトリ(コマンドプロンプトを起動して最初に現れるディレクトリ)の中にmkdirで`prog'など作り、その中でプログラムの保存やコンパイルなどの作業をする。

「アクセスが拒否されました。」と表示...

コマンドプロンプトで「type ファイル名 改行」やコンパイルなどを試みると、「アクセスが拒否されました。」と表示される。

エディタのアプリの仕様によっては、編集すると他のソフトがファイルにアクセスできないようにロックする場合が有ります。ファイルを保存して編集内容が反映されるか(dirやtypeで観る)、エディタを終了してからも拒否されるか、を調べてみて下さい。 terapad はその辺りの制約が割と緩いです。
※ また、実行ファイルが起動されていると、実行ファイルの更新(別のコマンドプロンプトの窓でのコンパイルなど)は拒否されます(この現象の場合にはエラーが表示される場合とされない場合が有るので注意)。

7. よくあるトラブル

頻出質問 (FAQ; frequently asked questions) : よくあるトラブルの対処方法です。
kadai.c:4:11: missing terminating " character
このメッセージは ソースファイル「kadai.c」をコンパイルするときに、4行目 (だいたい11文字目付近)でエラーが見付かりました、という意味です。 そこの11文字付近の二重引用符「”」が足りていない場合に表示されます(普通は二重引用符は対にして使う)。

その他によく見られる具体例を以下に示します:

8. tccの使い方など

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

c:\opt以外の非標準的な任意のディレクトリ(フォルダー)にtccをインストールすることはできます。ただし、 ディレクトリー名やファイル名に空白文字や日本語文字が入っているとコンパイラが正常に起動しないことがあります。 特に、PATH設定では Command_Prompt-tcc のプロパティーの「ショートカット」の中にある `c:\opt\tcc'の文字部分(PATH設定の追加)はインストール先に合わせて適宜変更する必要が有ります。

※ 注意事項

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

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