プログラム環境 ( macOS で C言語 )
はじめに
先日も書きましたように、約3,000円で購入した MacBoorAir2012 では Xcode というプログラム環境も十分には動かすことが出来ませんでした。
新しく購入した MacBookAir2022 ではスペックもそれなりのはずなので Xcode を含めたプログラム開発を色々と試して行きたいと思います。
ちなみにXcode自体は AppStore でインストール済みです。
<Apple公式ページから>
C言語
Mac は Darwin という UNIX系OSと言われるだけあり、DOSプロンプトのような「ターミナル」アプリを使うと、Unixコマンドで色々なことが出来ます。
「Launchpad」の「その他」にある「ターミナル」を利用します。
先日は「ターミナル」で MD5 というチェックサムを確認する方法を提示しましたが、今日は C言語のコンパイル、実行のお遊びの記録になります。
プログラムの勉強で有名・定番な「Hello World!」を試してみます。
コマンドプロンプトの使い方、ディレクトリの作成方法などを不慣れな方のために少し(中途半端ですが)冗長に記載します。
おそらくターミナルでは、
アカウント名@コンピュータ名 ~ %
となっていると思います。この「~」は、そのアカウントのホームと呼ばれる場所にいることを示しています。
% はプロンプトです。
今回は C言語のテストのために、c-test という名前のディレクトリ(フォルダというのとほぼ同じです)を作成します。
% mkdir c-test
これは、% のプロンプトが出ているところで「mkdir c-test」と打ち込んでリターンをする、という表現です。
続いて、作成したディレクトリに移動します。
% cd c-test
ここで作業をします。
プログラムを書くのに便利なツールは色々とあるのですが、ここでは小さなプログラムですので、単なるテキストを作成します。
Windowsでの「メモ帳」、Macでの「テキストエディット」などで作成しても良いです。
==================================================
#include<stdio.h>
int main()
{
printf("hello world!\n");
}
==================================================
ここではUNIXコマンドの使い方の例のため、cat コマンドを使います。通常はファイルの中を表示するコマンドですが簡単なファイルの作成にも使える便利なコマンドです。
% cat > hello-test.c
こう打ち込むと、いつものように %のプロンプトが出てこずに待ち状態になっているはずです。
ここで、上記の5行を打ち込むか、ペーストしてください。
最後に「controlキーを押しながら c」を打つと%のプロンプトに戻るはずです。
% cat hello-test.c
と、今度は「>」(パイプと呼びます)を外したコマンドです。これにより上記の内容が確認できると思います。
これでプログラムのソースコードが出来ましたので、C言語ではコンパイルという実行できる形式にする作業を行います。
% gcc hello-test.c
です。これで同じ場所に a.out というファイルが出来ます。
% ls
というコマンドで、今いる場所のファイル一覧を表示することが出来ますので、確認してください。
a.out hello-test.c
と2つのファイル名が表示されると思います。
最後に
% ./a.out
を実行すると
hello world!
という表示がされて、% のプロンプト に戻ったと思います。
以上で、Macの上でのC言語プログラム開発のさわりを確認することが出来ました。
ちなみに、上記作業環境の削除は
% rm a.out
% rm hello-test.c
% cd ..
% rmdir c-test
ででき元に戻せます。
元々あまりご存知ない方には何のことか分からなかったところも多いと思いますが、ものすごく簡単なプログラムのテストでした。
今後はXcodeだけでなく色々な開発環境をインストールして試してみたいですね。
まとめ
WindowsではUNIXコマンド群をインストールしないと使えないですしあくまでもWindowsでのディレクトリ構造ですが、MacはUNIXらしく / の下に etc , bin , usr とあるディレクトリ構造なので、それに慣れている自分としては分かりやすいですね。
その環境で gcc で C言語開発ができるので、もう少し遊んでみたくなりました。
![](https://ssl-stat.amebame.com/pub/content/9477400408/amebapick/item/picktag_autoAd_301.png)