今後、プログラミングについて学習、テストを行うために先日の記事(「PC系ー今年やりたい事」)で紹介した2冊の本を読み始めました。
どちらの本を読むにしても、C言語コンパイラにはgccを使用することになります。
実際に手元の環境で、コンパイルのテストが出来ました。
なるべく多様な環境(OS)でテストするため、(仮想環境の)Windows、仮想環境の(Ubuntu)Linuxと更にmacOSでのテストをしました。
使用したテストプログラムは上述の「マルチコアCPUのための並列プログラミング」のサンプルプログラムを使用しました。
Windows環境
まず最初に「Cygwin」を仮想マシンのWindowsにインストールしました。インストールしただけでは、gccはインストールされません。そこで「Cygwinで新しくパッケージを追加インストールする方法」を参考にgccをインストールしました。
図の様に、Cygwinのパッケージの中から、gccを選んでインストールしました。
Windows環境にCygwinをインストールするとフォルダー構成は下図の様になります。
この中の「home」フォルダで作業をする様にしました。具体的には、コンパイルしたいC言語プログラムをこの「home」フォルダにコピーして、コンパイラを起動します。コンパイルが終了したら生成される実行ファイルを起動して動作確認します。注意しないといけないのは、Cygwinのgccを使って生成される実行ファイルは拡張子が「exe」になることです。
Linux環境
今回のテストでは、Linux環境はMacの中の「Parallels Desktop」にインストールした「ubuntu 20.04」を使ってテストしました。このubuntuの場合はgccは始めからインストールされていたので、ソースプログラムをホームフォルダにコピーして、(ターミナルを起動して)gccでコンパイルするだけで確認できました。
macOS環境
使用したのはMojaveでした。gccをインストールするためにはコマンドラインツールのインストールが必要です。これが終わればLinux環境と同じく、ターミナルを起動してコマンドを入力してコンパイルとテストをするだけです。基本的にはBigSurのM1 Macでも同じ操作でgccを使ってのコンパイルと実行プログラムのテストは完了できました。
今回はgccを様々な環境で使用できるかどうか、使用するにはどうすれば良いのかを主なOSで確認するため、Windows、ubuntu、macOSを取り上げましたが、今後は主にmacOSの環境下でgccプログラミングを試していくつもりです。
#追記(2021/01/08)
入力したコマンドですが、参考書籍「マルチコアCPUのための並列プログラミング」にはC言語ソースプログラムの他にコンパイル、実行するための入力コマンドがわざわざテキストファイルで添付されていました。
% gcc -o ppb_first_thread ppb_first_thread.c -lpthread
% ./ppb_first_thread
です。gccの解説としては 「-o」スイッチを付けて、o[bject]ファイル名を指定しています。
#追記(2021/01/08)
Linux(CentOS8)についても「Parallels Desktop」にインストールして同じテストをしました。
ただ、CentOSをインストールする際は、「CentOS8」からディスクイメージをダウンロードしてからインストールすると細かな設定を把握しないとできないので却って厄介です。
「Parallels Desktop」の「ダウンロード CentOS Linux」で進めた方が確実だと思います。
#追記(2021/01/09)
「gdb」というデバッガもインストールされているかどうかを確認して、インストールされていないなら、インストールしておいた方が良いと思います。個別の手順には触れませんが、gccのインストールとほぼ同様の手順を踏めば、インストールされてなくてもインストールすることができると思います。