cc, gdb, ddd, emacs によるプログラミング(ソース作成, コンパイル, デバッグ)のヒント

Time-stamp: "2003/09/01 Mon 20:38 hig"

エディタによるプログラムの作成

Emacs を用いる場合,

などの機能を有効にするため, 計算科学実習第14回に載っているように.emacsを設定しておくことをお奨めします.

Emacs の操作方法は, 計算科学実習のページに少し説明してあります.

コンパイル

コンパイルオプション
-Wall
プログラムの怪しい部分について, すべての警告を出す.
-g
デバッグ情報を付加してデバッガにかけることを可能にする. サイズは大きくなり, 速度は低下する.
-O
最適化. プログラムをコンピュータの判断で同値(?)変形して高速化する.

デバッグ(コンパイル時)

エラーが出てコンパイルできない, なんてちょろいもんです. エラーの場所と理由をコンパイラーが教えてくれるんだから. また, -Wall を指定してれば, 怪しいところも指摘してくれます.

ただ, メッセージは英語の場合もあるけど. cc (gcc) の場合のエラーメッセージは,

などで解読しましょう.

デバッグ(実行時)

期待した動作をしなかったり, 無限ループ(?)に入ったり, segmentation fault したり, いろいろありますね. そういうときは, デバッガの出番です. ddd のチュートリアル を参照してください.

ddd をかぶせずに gdb を直接使ってもいいです. Emacs の中から使うなら, M-x gdb で, プログラムの名前を指定します. 使い方は次のリンク参照. マニュアル マニュアル 解説

プロファイリング

gprof の使い方
Copyright © 2001,2003 Saburo Higuchi. All rights reserved.
樋口三郎, http://www.math.ryukoku.ac.jp/~hig/ hig mail address