Qt Creatorを用いたプログラミング(1)「コンパイルと実行」

はじめに

ここでは福井大学の情報基盤センター端末室にあるPCを使用する場合の、 Qt Creatorを用いたC言語のプログラム作成の方法について説明します。


コンパイルとは

コンピュータが実行できるファイルは、 コンピュータにとって理解しやすい形式になっているため、 通常は人が見ても直接は理解できません。 そのため実行ファイルを作るためには、 始めにプログラムの人が見て理解できるソースファイルを作成します。 その後、 コンパイラを使ってコンピュータが理解できる実行ファイルを作成します。 この作業をコンパイルと呼びます。

Qt Creatorではプログラムの入力やコンパイルができますので、 ここでは簡単なプログラム例を用いて一連の流れを説明します。


ソースファイルの作成

先ずはQt Creatorを起動して、 「ファイル」-「ファイル/プロジェクトの新規作成」 を選びます。

Highslide JS

「他のプロジェクト」、「空のQtプロジェクト」を選んで「選択」をクリックします。

Highslide JS

「名前」に「hello」、「パス」に「z:\mol_sim」と入力し「次へ」をクリックします。
※予めZドライブに「mol_sim」というフォルダを作成しておいて下さい。

Highslide JS

「デスクトップ」にチェックが入っていることを確認して、「次へ」をクリックします。

Highslide JS

そのまま「完了」をクリックします。

Highslide JS

これで以下のようなウィンドウが開きます。

Highslide JS

プログラムを作成するためには、「hello」のところで右クリックをして 「新しいファイルを追加」を選びます。

Highslide JS

「C++」、「C++ソースファイル」を選んで、「選択」をクリックします。

Highslide JS

「名前」に「hello.c」を入力て、 「パス」が「Z:\mol_sim\hello」となっていることを確認し、「次へ」をクリックします。

Highslide JS

以下のような表示になっていることを確認して、「完了」をクリックします。

Highslide JS

これで以下のような表示になり、プログラムを入力することができるようになります。

Highslide JS

簡単なサンプルとして、以下のようにプログラムを入力します。

Highslide JS


プログラムの説明

1行目のincludeはプリプロセッサ命令で、stdio.hをこの場所に展開します。 とりあえず書いておく呪文みたいなものだと思ってください。
3行目のmainは、mainという名前の関数を表していて、 C言語ではこのmain関数から実行が開始されます。
4行目の中括弧はmain関数の始まりを表します。
5行目のprintfは画面に文字列を出力する関数で、 ダブルクォートで囲まれた文字列を表示します。 \nは改行を意味します。
6行目の中括弧はmain関数の終わりを意味します。

文末にある;(セミコロン) は行末であることを示しています。 プログラムでの行末はプログラムを書く人が指定するので、 プログラムの見た目の書き方にほとんど制限がありません。 上記のプログラムを

#include <stdio.h>
main(){  printf("Hello, World!\n");}

と書くことも出来ます。 ただし、なるべく見やすいように書いたほうが後々苦労が少なくなります。

また、C言語では中括弧ごとに字下げをするとソースプログラムが読みやすくなります。
Qt Creatorではソースプログラム上での右クリックメニューにある
「選択範囲を自動インデント」
を選ぶと、選択範囲がインデントされますので活用して下さい。


コンパイルと実行

プログラムを実行するために、ソースファイルをコンパイルする必要があります。
コンパイルと実行を行うためには、「ビルド」-「実行」を選びます。

Highslide JS

しばらくすると、「アプリケーション出力」という箇所に Hello, World! が表示されます。

プログラムは無事実行されましたが、 ウィンドウの左側に警告が2つ出ていることが示されています。 ウィンドウの下側の「ビルドの問題点」をクリックすると警告の内容がわかります。

Highslide JS

警告の内容は、
・main関数の戻り値の型が書いていないのでintにする
・戻り値が設定されていない
というものです。

Highslide JS

上記の警告を解消するために、以下のようにプログラムを修正します。

Highslide JS

これで警告が出なくなりました。

Highslide JS

C言語ではmain関数からプログラムの実行が始まります。 main関数も関数なので戻り値を持ちます。上記の例ではそれを省略したため警告が出ました。 main関数に戻り値の型と、return分を追加することで警告を解消することができます。


注意点

この分子シミュレーションのページにある 「C言語を使ったプログラミング」や 「分子動力学シミュレーションのプログラミング」では

int main()

return 0;

が書かれていません。 従って、プログラムをそのまま使うとコンパイルしたときに警告が出ます。

警告が出てもプログラムは実行できるので支障はないのですが、 気になる人は上記の例を参考にプログラムを修正し警告を解消して下さい。


コメント

プログラム中にメモ書きとしてコメントを書くことができます。 コメントは/*と*/の間に書きます。

#include <stdio.h>
main()
{
  printf("Hello, World!\n"); /* メッセージの表示 */
}

また、//を付けるとそれ以降はコメントと見なされます。

#include <stdio.h>
main()
{
  printf("Hello, World!\n"); // メッセージの表示
}

プログラムの一部をコメントにして実行しないようにすることもできます。 これをコメントアウトと呼びます。 プログラミングの一部を実行させたくないが一応プログラムを残したい、 というときにコメントアウトを使用します。

#include <stdio.h>
main()
{
/*  printf("Hello, World!\n"); この行は実行されない */
}