さぁ、C言語の世界へ旅立とう!・・・でもその前に
学習に最適な開発環境ってどんなものだろう?
やっぱり書いたらすぐに実行して、その場で結果を見たいよね。
そうは言ってもC言語って、コンパイルして実行ファイルを作ってから実行しないといけないし。
ちょっとしたコードを試すにも、毎回プロジェクトを作るのもなんだかなぁ・・・。
でも大丈夫!これから紹介する環境なら、エディタで編集してそのまま実行。
ストレスなくC言語の学習が可能です。
やっぱり書いたらすぐに実行して、その場で結果を見たいよね。
そうは言ってもC言語って、コンパイルして実行ファイルを作ってから実行しないといけないし。
ちょっとしたコードを試すにも、毎回プロジェクトを作るのもなんだかなぁ・・・。
でも大丈夫!これから紹介する環境なら、エディタで編集してそのまま実行。
ストレスなくC言語の学習が可能です。
TCCをインストールしよう!
TCCって何?
Tiny C Compiler(TCC)はコンパイル速度がとても速いC言語コンパイラで、誰でも無償で手に入れることが出来ます。C言語の標準規格の第2版であるC99に対応しています。
TCCは実行ファイルを作ることなく、C言語のプログラムを実行することができます。
TCCはインタプリタなの?
TCCはコンパイラであり、インタプリタではありません。しかしオプションの指定によりJITコンパイルによる実行が可能になっています。JITコンパイルって?
JITコンパイル(ジャストインタイムコンパイル)とはソフトウェアの実行時にソースコードのコンパイルを行い、メモリ上に機械語のコードを生成することです。これによりインタプリタと比べて起動に時間がかかるものの、インタプリタの利点を保持したまま実行速度を向上させることができます。
さらに詳しく知りたい方は、ジャストインタイムコンパイル方式 - Wikipediaをご覧下さい。
TCCを手に入れよう!
TCCは以下のページで配布されています。
TCC : Tiny C Compiler
リンク先の「Download」から、「Windows binary distribution」と書いてあるファイルをダウンロードしましょう。
この記事の執筆時点でのファイル名は「tcc-0.9.24-win32-bin.zip」です。
TCC : Tiny C Compiler
リンク先の「Download」から、「Windows binary distribution」と書いてあるファイルをダウンロードしましょう。
この記事の執筆時点でのファイル名は「tcc-0.9.24-win32-bin.zip」です。
TCCをインストールしよう!
インストールはとても簡単!ダウンロードしたファイルを任意の場所に解凍するだけ。ね、簡単でしょ?
ここでは“C:\Program Files\”に展開して“C:\Program Files\tcc\”というフォルダが作成されたものとして説明します。
JmEditor2をインストールしよう!
外部コマンドを実行できてその標準出力を取り込むことが出来ればどのエディタでも構いませんが、今回はJmEditor2を利用します。
使いやすいようにショートカットを作るなどしておきましょう。
ここでは“C:\Program Files\”に展開して“C:\Program Files\jmedit2025\”というフォルダが作成されたものとして説明します。
JmEditor2を手に入れよう!
JmEditor2は以下のページで配布されています。
Jm HomePage
リンク先の「JmEditor 1.0.36 & 2.0.25」をクリックしてJmEditorのページへ移動した後、「Download」から「JmEditor 2.○.○○」と書いてあるファイルをダウンロードしましょう。
この記事の執筆時点でのファイル名は「jmedit2025.lzh」です。
Jm HomePage
リンク先の「JmEditor 1.0.36 & 2.0.25」をクリックしてJmEditorのページへ移動した後、「Download」から「JmEditor 2.○.○○」と書いてあるファイルをダウンロードしましょう。
この記事の執筆時点でのファイル名は「jmedit2025.lzh」です。
JmEditor2をインストールしよう!
JmEditor2も、インストールはダウンロードしたファイルを任意の場所に解凍するだけ。使いやすいようにショートカットを作るなどしておきましょう。
ここでは“C:\Program Files\”に展開して“C:\Program Files\jmedit2025\”というフォルダが作成されたものとして説明します。
実行用マクロを設定しよう!
ソフトのインストールは出来ましたが、これだけではプログラムを実行するのに非常に不便です。
そこで、JmEditor2から手軽に実行するためのマクロを登録します。
その前に、マクロファイルを入れておくフォルダを作っておきましょう。
ここではJmEditor2をインストールしたフォルダに作成します。
“C:\Program Files\jmedit2025\macro\”というフォルダを作っておきましょう。
それでは、マクロファイルを作成します。
と言っても難しい事はありません。以下の内容をコピーしてテキストエディタに貼り付け保存するだけです。
早速JmEditor2を使ってみてもいいですし、使い慣れたエディタで行っても構いません。
先ほど作成したフォルダに、ファイル名を“exe.dms”として保存しましょう。
早速JmEditor2を起動してみましょう。
ウィンドウ上部メニューの「ツール」から「環境設定2」を選択する事で、設定画面を開く事が出来ます。
設定画面上部の「マクロ設定」タブをクリックするとマクロ設定画面が現れます。
マクロ設定下部の入力欄に以下のように入力し、「追加」ボタンを押すことでマクロを登録することができます。
引数の「"」を忘れないように注意が必要です。
登録ができたら最後に「設定」ボタンを押して、設定内容を保存しましょう。
ここで「キャンセル」を押してしまうと、設定内容は保存されません。
そこで、JmEditor2から手軽に実行するためのマクロを登録します。
マクロファイルを作成しよう!
先ずはプログラムを実行するためのマクロを記述したファイルを作成します。その前に、マクロファイルを入れておくフォルダを作っておきましょう。
ここではJmEditor2をインストールしたフォルダに作成します。
“C:\Program Files\jmedit2025\macro\”というフォルダを作っておきましょう。
それでは、マクロファイルを作成します。
と言っても難しい事はありません。以下の内容をコピーしてテキストエディタに貼り付け保存するだけです。
早速JmEditor2を使ってみてもいいですし、使い慣れたエディタで行っても構いません。
先ほど作成したフォルダに、ファイル名を“exe.dms”として保存しましょう。
var exe = arguments[0];
var param = arguments.slice(1).join(' ');
var file = new File(Editor.FileName).extractName();
var cmd = '"' + exe + '" ' + param + ' "' + file + '"';
Window.ClearOutput();
Window.ExecCmdEx(cmd);
マクロファイルを登録しよう!
作成したマクロはJmEditor2に登録する事で利用できます。早速JmEditor2を起動してみましょう。
ウィンドウ上部メニューの「ツール」から「環境設定2」を選択する事で、設定画面を開く事が出来ます。
設定画面上部の「マクロ設定」タブをクリックするとマクロ設定画面が現れます。
マクロ設定下部の入力欄に以下のように入力し、「追加」ボタンを押すことでマクロを登録することができます。
- タイトル
- TCC
- ファイル名
- C:\Program Files\jmedit2025\macro\exe.dms
- 引数
- "C:\Program Files\tcc\tcc.exe" -Wall -run
引数の「"」を忘れないように注意が必要です。
登録ができたら最後に「設定」ボタンを押して、設定内容を保存しましょう。
ここで「キャンセル」を押してしまうと、設定内容は保存されません。
マクロを呼び出すには?
マクロはファイルを開いている時にメニューの「ツール」から「マクロ実行」、「TCC」と辿る事で実行する事ができます。Hello World!
さあ、これでプログラムを実行できる環境は整いました!
テストも兼ねて、早速プログラムを実行してみましょう。
メニューの「ファイル」から「新規作成」を選び、以下の内容を貼り付けて保存します。
ファイルの拡張子は必ず“c”として下さい。
マクロからTCCを呼び出して、ウィンドウ下部に現れたパネルに「Hello World!」と表示されれば成功です。
もしプログラムが終了しなくなってしまったら、メニューの「ツール」から「コマンド実行」を選択しましょう。
下パネルの出力結果に「Stopped !! (User Aborted)」と表示されて、プログラムは終了します。
テストも兼ねて、早速プログラムを実行してみましょう。
メニューの「ファイル」から「新規作成」を選び、以下の内容を貼り付けて保存します。
ファイルの拡張子は必ず“c”として下さい。
#include <stdio.h>
int main()
{
puts("Hello World!");
return 0;
}
マクロからTCCを呼び出して、ウィンドウ下部に現れたパネルに「Hello World!」と表示されれば成功です。
プログラムが終了しなくなってしまった!
プログラミングを行っていると、プログラムが意図しない動作をしてしまう事もあるはず。もしプログラムが終了しなくなってしまったら、メニューの「ツール」から「コマンド実行」を選択しましょう。
下パネルの出力結果に「Stopped !! (User Aborted)」と表示されて、プログラムは終了します。
タグジャンプを設定しよう!
プログラムを実行できる環境は整いましたが、便利に使うには他にも色々な設定が必要です。
その殆どは好みの問題ですが、設定の中にはプログラミングを行う上で助けになってくれるものもあります。
プログラムが膨大になるにつれ、大変になるのがエラーの修正です。
エラーの発生個所を探すのも一苦労。そんな時に大きな助けになってくれるのがタグジャンプ機能です。
タグジャンプはエラーメッセージに従って、エラーのあったファイルのエラーのあった行に移動してくれる機能です。
出力されたエラーメッセージをダブルクリックすることで、該当の行に移動することができます。
タグジャンプを設定するにはメニューの「ツール」から「環境設定1」を開き、「基本設定6」を選択します。
表示された画面の「正規表現」入力欄に以下のように入力し、「追加」ボタンを押して追加します。
登録できたら「設定」ボタンを押して設定内容を保存しましょう。
正規表現を利用する事により、文字列の中から特定のパターンの部分だけを抜き出し処理することができます。
JmEditor2の検索は正規表現に対応していますので、パターンによる検索が可能です。
さらに詳しく知りたい方は、正規表現 - Wikipediaをご覧下さい。
その殆どは好みの問題ですが、設定の中にはプログラミングを行う上で助けになってくれるものもあります。
プログラムが膨大になるにつれ、大変になるのがエラーの修正です。
エラーの発生個所を探すのも一苦労。そんな時に大きな助けになってくれるのがタグジャンプ機能です。
タグジャンプはエラーメッセージに従って、エラーのあったファイルのエラーのあった行に移動してくれる機能です。
出力されたエラーメッセージをダブルクリックすることで、該当の行に移動することができます。
タグジャンプを設定するにはメニューの「ツール」から「環境設定1」を開き、「基本設定6」を選択します。
表示された画面の「正規表現」入力欄に以下のように入力し、「追加」ボタンを押して追加します。
登録できたら「設定」ボタンを押して設定内容を保存しましょう。
^(.+\.[ch]):(\d+):
正規表現って?
正規表現とは文字列のパターンを表す書式の事です。正規表現を利用する事により、文字列の中から特定のパターンの部分だけを抜き出し処理することができます。
JmEditor2の検索は正規表現に対応していますので、パターンによる検索が可能です。
さらに詳しく知りたい方は、正規表現 - Wikipediaをご覧下さい。
あれ?標準入力が使えない・・・?
JmEditor2は標準入力を行う事は出来るのですが、プログラムが終了してから標準出力を取り込み下パネルに表示する仕組みのため残念ながら対話入力を行うことは出来ません。
そのため対話入力を行う場合はコマンドプロンプトで実行する必要があります。
しかしそんな場合でも毎回面倒な操作を行う必要はありません。
TCCをツールに登録することで、マクロ実行と変わらない手間で実行することが出来ます。
表示された画面にマクロの登録と同じ要領で以下のように入力し、ツールに登録します。
実行も同様に、メニューの「ツール」から「ツール実行」、「TCC」と辿る事で行えます。
そのため対話入力を行う場合はコマンドプロンプトで実行する必要があります。
しかしそんな場合でも毎回面倒な操作を行う必要はありません。
TCCをツールに登録することで、マクロ実行と変わらない手間で実行することが出来ます。
TCCをツールに登録しよう!
ツールを設定するにはメニューの「ツール」から「環境設定2」を開き、「ツール設定」を選択します。表示された画面にマクロの登録と同じ要領で以下のように入力し、ツールに登録します。
- タイトル
- TCC
- ファイル名
- C:\Program Files\tcc\tcc.exe
- 引数
- -Wall -run %F
実行も同様に、メニューの「ツール」から「ツール実行」、「TCC」と辿る事で行えます。
Enjoy Programing!
おめでとう!これであなたもC言語の世界へ一歩踏み出しました。
環境は手に入りましたが、学習を行うのはあなた自身です。
C言語の入門サイトはインターネットに山ほどありますので、このサイトでは扱いません。
プログラムが大きくなり、ファイルが複数に及ぶようになるとTCCでは不便を感じるようになるでしょう。
最近は無料で色々な開発環境が手に入るようになりました。
その中には製品としても販売されている高機能なものもあります。
いつかはそちらに乗り換えることになるでしょう。
しかし、そんな時でもTCCはちょっとしたコードの実行に役立ってくれるはずです。
環境は手に入りましたが、学習を行うのはあなた自身です。
C言語の入門サイトはインターネットに山ほどありますので、このサイトでは扱いません。
プログラムが大きくなり、ファイルが複数に及ぶようになるとTCCでは不便を感じるようになるでしょう。
最近は無料で色々な開発環境が手に入るようになりました。
その中には製品としても販売されている高機能なものもあります。
いつかはそちらに乗り換えることになるでしょう。
しかし、そんな時でもTCCはちょっとしたコードの実行に役立ってくれるはずです。