Linux でも実行!(課題1402)

[全課題リスト|サンプルソース|完成した実行ファイル(実習室のみ)|完成したソースの例] Time-stamp: "2004/12/22 Wed 20:32 hig"

これまで Visual C++ 用に書いてきたプログラムは, ほとんどそのまま Linux の cc でコンパイルし, 実行できるはずです. これを確かめてみましょう.

  1. OpenGLを使っているプログラムをひとつ選びましょう. コンパイルできれば, 未完成でもかまいません. (例えば)ソースファイルepidemic.cの場所を確認しましょう. これをこれから Windows ⇒ Linux と移動します.
  2. 説明にしたがって, 漢字コードを直しましょう.
  3. epidemic.cを, フロッピーディスク, または USBメモリにコピーしましょう.
  4. 再起動するか, 手近な空き端末を見つけるかして, Linux に login しましょう.
  5. 説明にしたがってフロッピーまたはUSBメモリを使用可能にします(マウントします). 説明で /mnt/usb1 となっているところは, 必要に応じて /mnt/usb0, /mnt/floppy と読み替えます.
  6. epidemic.cをLinuxのディスクにコピーします.
    [t040000@s1542f160 t040000]$ cp /mnt/usb1/epidemic1.c ~ # USB メモリのとき
    [t040000@s1542f160 t040000]$ cp /mnt/floppy/epidemic1.c ~ # フロッピーのとき
    
  7. 2.の漢字コード変換を忘れていた人は, ここでもう一度やるチャンスがあります. 説明参照.
  8. OpenGLを含まないプログラムなら,
    [t040000@s1542f160 t040000]$ cc -o epidemic1 epidemic1.c -lm 
    
    などで実行ファイル epidemic1ができます. OpenGL(glut)を使っている場合には, ライブラリを指定する必要があるので, make を使ったほうがいいでしょう. Makefile を, その中のepidemic1.c と同じディレクトリに保存します. その中のepidemic1 というところを, 実際のファイル名にあわせて変更し,
    [t040000@s1542f160 t040000]$ make epidemic1
    
    とすると実行ファイル epidemic1ができます.
  9. 実行は
     
    [t040000@s1542f160 t040000]$ ./epidemic1
    
    です.
上では, Windows / Linux ともにソースファイルの拡張子が .c だと仮定しました. C++ の場合, Visual C++ では .cpp , Linux の c++(g++) では .cxx, .cc, .c++ などが普通であることに注意しましょう.
Copyright © 2004 Saburo Higuchi. All rights reserved.
樋口三郎, hig mail address