C
mugen_loop 上記ソース実行中にアタッチ後、「すべて中断(Ctrl+Alt+Break)」し、呼び出し履歴を見ればどこで無限ループになっているか分かる。
メモリプールと併せて以下の使用感。エラー処理は未実装。 データのメモリはメモリプールで管理。リスト管理、ノードのメモリは リストモジュールで管理。 list sample2
Cでmallocを何度も使用するとメモリ解放忘れが起きやすい。 一括でメモリを確保し、細切れで必要分使うコードがネット上にあったので クラスモジュールで作成。 memory pool · GitHub
[プロパティ]-[デバッグ]で、コマンド引数と作業ディレクトリが設定可能。 これらを使えばアタッチしなくてもデバッグできそう。
デバッグ実行開始 エラーダイアログで中断ボタン押下 呼び出し履歴でコールスタック確認
デバッグ実行開始 無限ループにはまる 一時停止 呼び出し履歴でコールスタック確認
・キュー →循環配列(リングバッファ)で実装するのが定石っぽい ・優先度付きキュー →二分ヒープで実装するのが定石っぽい
cwnicol.hatenablog.com 上記のインターフェースで、リストを使用するように、 また、最短ルート時のコストも返すようにした。 インターフェース詳細はdijsktra.h、具体的な使用方法はtest_dijsktra.c参照。 (test_dijsktra.cで辺設定行が多いのは、テスト対…
使用感は改善の余地ありかも。 インターフェース詳細はdijsktra.h、具体的な使用方法はtest_dijsktra.c参照。 ライブラリ:dijsktra.h、dijsktra.c dijsktra [テスト対象グラフ] [テスト実行結果] (追記) インターフェースにリストを使用するようにしたもの…
簡易正規分布は一様乱数を足せばよいらしい。rand()は一様乱数を返す。 rand()%10として、0~9の乱数を得ていたのを、 rand()%5とrand()%6で、0~4の乱数と0~5の乱数を足して0~9の乱数を 得るようにする。 random こんな山でよいのなら。
ビットフラグは嫌いだが、操作関数があれば少しは使いやすくなるのだろうか bitFlag
github.com [背景] C言語のソースからシーケンス図を自動作成するツールが 見当たらなかったので作成した。plantUML用入力ファイルを出力する。 できたファイルをplantUMLで読み込むことでシーケンス図が見れる。 [動作環境] Windows10で動確済み。(どのWind…
簡単に取り込めるファイル検索ライブラリ。(Windows用) (指定フォルダ配下の、指定拡張子の全フルパスを取得する) エラー処理は未実装。とりあえず動く。 使用者はlist.h, findFile.h内のインターフェースのみ把握しておけば使える。 まずはtest_findFile.c…