USB メモリ活用講座
【実践編・Tiny C Compiler 開発環境ポータブル化】

< 最終更新日時: 2020-05-26 >

目次

Tiny C Complier (TCC) は動作が軽快でコンパクトな C 言語の開発環境で,32bit ばかりでなく 64bit アプリケーションの開発にも対応しています. ISOC99 規格への対応を目指していましたが,現在は残念ながら開発は止まっているようです. ポータブル化の作業は簡単で,わずか 1.8MB のアキ容量があればインストール可能です. ここでは TCC の 32bit 開発環境をローカルハードディスク (C:) および USB メモリへインストールする方法を紹介します.

  1. TCC のダウンロードとインストール
  2. TCC の動作確認
  3. TCC のポータブル化
  4. TCC の使い方 (オプション指定)

TCC のダウンロードとインストール

ここでは,TCC の 32bit 開発環境をローカル PC の C:\tool\tcc にインストールする手順を説明します. インストールを行うには,管理者 (Administrator) 権限を持つユーザで作業を行うことを推奨します.

  1. Tiny C Complier (英文) の Web ページを開きます (図1).
    図1・Tiny C CompilerのWebページ
    図1・Tiny C Compiler の Web ページ
  2. 図1 下部にある Download のリンクをクリックすると,図2 のファイルリストが表示されます.
    図2・Tiny C CompilerのDownloadページ
    図2・Tiny C Compiler の Download ページ
  3. 最新の 32bit 開発環境をインストールするためには tcc-0.9.27-win32-bin.zip (472KB) をダウンロードします※1. ダウンロード先は USB メモリではなく,ローカルハードディスクの適切なフォルダ (C:\temp など) を指定しましょう.
  4. ダウンロードした tcc-0.9.27-win32-bin.zip を展開 (解凍) します. Windows 標準のエクスプローラを利用する場合は,tcc-0.9.27-win32-bin.zip を右クリックしてすべて展開を選び,展開先として C:\tool を指定すると,C:\tool\tcc というサブフォルダが作成され,ファイルが展開されます. 展開後,C:\tool\tcc のプロパティを調べてみたところ,サイズは 1.80MB と表示されました.
  5. 環境変数 PATHC:\tool\tcc を追加します. 具体的な手順は Free C++ Compiler のローカルインストール時の基本設定 を参考にしてください※2

コマンドプロンプトを開き,tcc とタイプして Enter キーを押してみます (tcc の大文字/小文字は区別する必要はありません). もし'tcc'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。といったメッセージが表示されたら,環境変数の設定に失敗している可能性が高いので,よく見直して修正しましょう. Tiny C Compiler 0.9.27 で始まる TCC の使用法に関する英語のメッセージが表示されれば,正しく設定が済んでいるものと思われます. 次の動作確認に進みましょう.

TCC の動作確認

簡単な C 言語のプログラムを作成して,TCC の動作確認をしてみましょう.

  1. メモ帳などのテキストエディタを起動して,次のプログラム (ソースコード) を入力します.
    #include <stdio.h>
    
    int main( )
    {
        printf("Hello, C world\n");
        return 0;
    }
    
  2. 入力し終えたら hello.c と名前をつけて,適当なフォルダ (C:\temp など) に保存しましょう. メモ帳でこのソースコードを作成する方は,保存時に hello.c.txt となってしまわないよう気をつけてください (失敗したらリネームすればよいだけですが).
  3. コマンドプロンプトを開き,ソースコードを保存したフォルダ (ディレクトリ) をカレントワーキングディレクトリにします.
    cd /D c:\temp Enter
  4. 次のようにタイプして TCC でソースコード hello.c をコンパイルし,実行させます.
    tcc -run hello.c Enter
  5. すぐ下に Hello, C world と表示されたら成功です.

動作確認が終わったら,TCC の使い方 (オプション指定) にも目を通しておきましょう.

注意: printf 文で和文のメッセージを出力する場合には,ソースコードを保存する際の文字コードと,コマンドプロンプトの文字コード (コードページ) が一致するようにしなければなりません. デフォルトのコマンドプロンプトはシフト JIS (Shift_JIS) に設定されているので,ソースコードもシフト JIS (メモ帳の場合は ANSI) で保存すればよいでしょう. しかし,文字によっては正しく表示されない場合があるので,TCC のポータブル化 の設定と同様に,UTF-8 で統一するほうがよいでしょう. シフト JIS の問題点について,より詳しく知りたければ Wikipedia / Shift_JIS などを参照してください.

TCC のポータブル化

ここでは,USB メモリに割り当てられたドライブレターを U: として,TCC の 32bit 開発環境を U:\tool\tcc にインストールする手順を説明します.

  1. ローカル PC の C:\tool\tcc フォルダを U:\tool\tcc にコピーします. あるいは,TCC のダウンロードとインストールの1~4までを実施します. ただし,手順4の展開先は U:\tool\tcc とする必要があります.
  2. テキストエディタを起動して,次のような VB (Visual Basic) スクリプトを入力します※3
    ' TCC ポータブル設定
    Option Explicit
    Dim objWshShell,objFS,objEnv,objStream
    Dim strDrv,strTccPath
    Set objWshShell = WScript.CreateObject("WScript.Shell")
    Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
    ' カレントドライブのドライブレターを取得する
    strDrv = objFS.GetDriveName(WScript.ScriptFullName)
    ' tool\tcc フォルダが存在するかをチェック
    strTccPath = strDrv & "\tool\tcc"
    If objFS.FolderExists(strTccPath)=0 Then
        WScript.Echo strBccPath & "が見つかりませんので終了します"
        WScript.Quit 0
    End If
    ' 環境変数PATHの先頭にtool\tccを追加
    Set objEnv = objWshShell.Environment("Process")
    objEnv.Item("PATH") = strTccPath & ";" & objEnv.Item("PATH")
    ' コマンドプロンプトウィンドウを開き,文字コードを UTF-8 にする
    objWshShell.Run "%COMSPEC% /K ""chcp 65001"""
    
  3. 入力し終えたら tccenv.vbs と名前をつけて,USB ドライブ上の適当なフォルダ (U:\bin など) に保存しましょう. なお,保存するときには文字コード (エンコード) をシフト JIS (Shift_JIS) にする必要があるようです. 「メモ帳」でこのスクリプトを作成する方は,保存時の文字コードを ANSI に指定するとともに,ファイル名が tccenv.vbs.txt となってしまわないよう気をつけてください (失敗したらリネームすればよいだけですが).
    図3・エラーメッセージ
    図3・エラーメッセージ
  4. エクスプローラなどで USB ドライブの中身を表示し,フォルダ bin の中にある tccenv.vbs を起動します. そのときコマンドプロンプトが開かれたら,次に進みます. 右の図3 のようなエラーメッセージが出力された場合には,TCC の展開先に間違いがないか確認してください.
  5. コマンドプロンプトで tcc とタイプして Enter キーを押してみます (tcc の大文字/小文字は区別する必要はありません). もし'tcc'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。といったメッセージが表示されたら,ここまでの作業のどこかでミスを犯しているはずです. Tiny C Compiler 0.9.27 で始まる TCC の使用法に関する英語のメッセージが表示されれば,正しく設定が済んでいるものと思われます.

別解として,Free C++ Compiler のポータブルインストール時の基本設定 (別解) のような方法も考えられます.

TCC の使い方 (オプション指定)

一般的なコンパイル型のプログラミング言語では,次のような 3 段階の手続きでプログラム開発を進めます.

  1. テキストエディタでプログラム (ソースコード) を作成します.
  2. コンパイラを起動して,ソースコードを実行プログラムに変換します. この処理をコンパイルと呼びます.
  3. 実行プログラムを起動して,動作確認を行います.

一般的な C コンパイラでは,手順 2 で実行プログラムをファイルとして生成するほか,中間的なファイルを生成するものがあります. このため,プログラミング学習を進めていくと,フォルダの中に多くのファイルがたまっていくこととなります.

TCC では上の手順 2 と 3 をまとめて,実行プログラムをファイルとして作成せずに動作させることが可能です. この機能をうまく活用すると,フォルダの中をスッキリ保ちながら,軽快にプログラミング学習を進めることができるかもしれません. source.c というソースコードを,実行ファイルを生成しないで動作させるには,次のように tcc を起動します (-run というオプションを指定します).

tcc -run source.c Enter

もちろん,TCC でも実行ファイルを生成するといった使い方も可能です. 自分が作成したプログラムを他の人に配るようなとき,実行ファイルを渡せば,相手が開発環境を用意する必要はありません. また,自分なりのノウハウが詰まったソースコードを渡さないことで知的財産の保護にもつながります. program.c というソースコードをコンパイルし,program.exe という実行ファイルを生成するには,次のように tcc を起動します (-o というオプションを指定し,出力されるファイル名を指示します).

tcc -o program.exe program.c Enter

tcc には他にもたくさんのオプション指定があります. 単に tcc Enter としたときに表示される説明や,U:\tool\tcc\doc フォルダにある tcc-doc.htmltcc-win32.txt を読んでみるとよいでしょう (すべて英文ですが).