忍者ブログ
日記です.自分用のメモ代わりに書くことが多いです.
11 10 9 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

研究室で最近風邪が流行っています.

私も若干風邪気味です.今日はなぜか胃が痛かったです.

というか今も微妙に痛いです.鈍痛みたいな感じ.


さて,今日やったことですが,Q先輩から

「まさぽんさん,excentricがちゃんと変換してくれへんよ.syntax errorが出る.」

とのことでしたので,めんどくさくて放置してた構文をサポートしました.

excentricというのはなにかというと,私作のSFLをVerilog HDLに変換するプログラムです.

SFLというのは,ハードウェア記述言語(HDL)の一つで,明らかにマイナーですが,

書きやすいのと他の理由ゴニョゴニョにより,ウチの研究室でよく使われている言語です.

SFLはそのままではFPGA用の合成ツールなどで合成できないため,

VHDLまたはVerilog HDLなどのHDLに変換する必要があります.

変換ツールには,PARTHENONに含まれるSFL2VHDLやSFL2Verilog,

他大学の先生が開発したsfl2vl,などがあります.


んで,そのexcentricプログラムのコードを眺めて該当箇所をイジイジして修正しました.

ここで問題が起こりました.Segmentation Faultが発生したのです!

C言語プログラミング(というかgccプログラミング?)をやったことがある人なら分かると思いますが,

この通称セグフォルと呼ばれるエラーは,NULLポインタの値を読んだりしたときに発生するものです.

そんなはずないやん!と思いながらデバッグすると,ある箇所の文字列がバッファオーバフローしている

ことが判明しました.本来なら文字列の大きさは動的に確保するべきなのですが,

面倒なのでスタティックに確保していたのです.今までのテストに用いていたファイルが

あまり大きなものではなかったため,見逃していたようです.

よし,バッファを大きくして問題解決!と思いきや・・・

またセグフォルが発生しました.またかよ,今度はどこだ!とデバッグすると,

今度はスタック領域を使い果たしたために発生したエラーだということが分かりました.

仕方ないので,めんどうですが大きなメモリ空間を必要とするものはmallocなどを使用して

ヒープ領域に確保することにしました.

このデバッグにかなりの時間をとられ,今日の分の気力は使い果たしてしまいました...

Javaだったらこんな苦労しなくていいのになぁ.

おまけですが,↓はJavaで作ったエディタの画像です.

SyntaxHighLighterクラスなるものを公開しているサイトを発見したのでコピー&ペーストでやってみました.



Visual C++でもこのくらい簡単に作れればいいのに.
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字
無題 By AAA
画像関係の研究だとこの手のエラー(Segmentation Fault)は結構出るみたいですね。個人的には苦労させられました。なにせ220次元の画像を扱うとヒープ領域も平気で使い果たしてしまいますので。一般的にはヒープ領域を使い果たしたときの対処ってどうするんでしょうね?
2006/11/26(Sun)00:06:54 編集
無題 By まさぽん
ヒープ領域を使い果たすというのはあまり考えられていないのではないでしょうか.
具体的な解決法としては,HDの余りを仮想メモリにまわす,くらいしか思いつかないですね.
明らかに動作は遅くなりますがこの方法ならば上限はほぼなくなりますね.
あとは使っていない(けど必要な)データをHDに書き戻しておくとか.でもこれじゃHD使ってるという点で前の方法と変わりませんね.
2006/11/26(Sun)20:33:41 編集
無題 By AAA
ブログが滞っていらっしゃるな。まさか本格的に風邪をひいたとか?
2006/11/27(Mon)21:04:12 編集
無題 By まさぽん
体調は問題ないです.心配かけてすいません.
土日は出掛けてて何もやってなかったのでネタがなかったのです.
今日の内に更新しようと思います.
2006/11/27(Mon)21:50:45 編集
この記事へのトラックバック
この記事にトラックバックする:
プロフィール
HN:
まさぽん
性別:
男性
職業:
会社員
最新記事
(08/22)
(08/16)
(08/08)
(08/01)
(07/30)
カウンター
ブログ内検索
最新コメント
[03/18 ひぐ]
[03/10 まさぽん]
[03/09 ボンボ-ン]
[03/07 まさぽん]
[03/07 まさぽん]
クリック募金
なかのひと
アクセス解析
忍者ブログ [PR]
≪PREV HOME NEXT≫