LoginSignup
0
1

More than 5 years have passed since last update.

gccのオプション入力の手間を省く

Last updated at Posted at 2018-04-03

要約

gcc コマンドを実行する際、alias(linux)やバッチファイル(Windows)を用いることにより、オプションの入力の手間を省く方法

背景

大学のC言語の授業でソースファイルのコンパイルをする際、オプションをつけることが義務付けられたのだが、毎回入力するとめんどくさい打ち間違いが起こるため、手間を省く方法を考えてみた。

環境

Linux:Ubuntu MATE 16.04
Windows:Windows10

授業にて必須または推奨となっているオプション

-o 実行ファイル名を指定する
-lm 数学関数(sin, sqrt etc.)を用いる場合に必要なオプション
-ansi -pedantic 厳格な ANSI仕様でのコンパイルを行う
-Wall 文法チェックで疑わしい箇所を全て表示する

ソースファイル名がtest.c、実行ファイル名がtest.exeの場合

C:\>gcc test.c -o test.exe -lm -ansi -pedantic -Wall

バッチファイル (Windows)

内容

メモ帳などのテキストエディタで下のバッチファイルを作成する
(バッチファイルのファイル名は任意の名前でよい)

a00_begin_gcc_exe.bat
@echo off

for %%f in (%*) do (
  echo %%f

  if "%%~xf"==".exe" (
    echo --------------------------------

    %%~nxf

    echo --------------------------------

  ) else if "%%~xf"==".c" (
    echo compiling the .c file
    gcc %%~nxf -o %%~nf%filename_exe% -lm -ansi -pedantic -Wall
  )
)

pause

使い方

ソースファイルのコンパイル

ソースファイルをバッチファイルにDrag & Dropする

実行ファイルの実行

実行ファイルをバッチファイルにDrag & Dropする

特徴

  • このバッチファイルがフォルダで一番上に表示されるため、名前を "a00_..." とした
  • 複数ファイルを同時に指定できる
  • ソースファイルと実行ファイルを同時に指定することで、コンパイルと実行を順次に行うことが可能である

alias (Linux)

内容

下の内容を ~/.bashrc に追記し、

~/.bashrc
function gcc2(){
    FILENAME=$(basename $1);
    CFILE=$(basename $1 .c);
    gcc -o $CFILE.out -lm -ansi -pedantic -Wall $FILENAME;
}

alias gcc2=gcc2
$ source ~/.bashrc

を行う

使い方

ソースファイルのコンパイル

$ gcc2 test.c

特徴

  • 複数のソースファイルの指定は不可能である
  • Tabキーを用いたファイル名の補完が可能である

参考文献

『GCCを用いたプログラミング』(大学の授業のハンドアウト)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1