トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

WindowsでのCコンパイラ

gnupack/cygwin

Windows上でgnupack(cygwin)のgccを使う方法。
MinGWではなく、普通にgccを使う。

メリット

  • 手軽
  • とりあえず、すぐ動かせる

デメリット

  • コンパイル後のexeを実行するには、cygwin.dllが必要になる

コンパイル例

gcc test.c

MinGW

 gnupackでMinGWを使う

gnupackでMinGWを使う方法。
環境を作ってしまえば、結構使える。

メリット

  • exe単体で実行可能。(cygwin.dll等が不要)
  • コンパイラだけでなく、環境として整備しやすい

デメリット

  • 環境を整えるのがちょっと手間

コンパイル例

i686-w64-mingw32-gcc test.c

 Msys2でMinGWを使う

Msys2にMinGWを使う方法。
gnupackとほぼ同じ。

 LinuxでMinGWを使う(クロスコンパイル)

MinGWはLinuxで使えるので、Linux上でクロスコンパイルする方法。
実行確認はwineを使うか、windowsにexeをコピーして実行する。

メリット

  • 普段Linuxで開発している場合は、そのままの環境が使える。

デメリット

  • Windowsでの確認の際にexeをコピーする必要がある(wine使ってもいいけど)
  • 環境を整えるのがちょっと面倒

コンパイル例

i686-w64-mingw32-gcc test.c

 知っておいたほうがいいコンパイルオプション

オプション 意味
-s strip。オブジェクトファイルのシンボルを削除することによってもファイルサイズを小さくする
-static 実行時にdllがありません。とか出たら static にして実行バイナリにライブラリを組み込む。
-mwindows コンソールアプリではなく、ウインドウを使うようなアプリをコンパイルするときに必要

[カテゴリ: プログラミング言語 > C]

[通知用URL]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2020年04月27日 21時43分27秒