daily affairs
クルマと、読んだ本のネタを中心に。
 



今日は、北九州市小倉北区の某所にて、ヒコボシさんとGreen@Spotsさんと私でぷっちぷちオフ(?)でした。



11時ごろに集まって、気づくと12時30分とか13時とか…
あっという間に時間が経ってしまいました (^-^
ヒコボシさんは残念ながら途中からお仕事になりましたが、とっても楽しかったです~。。Green@Spotsさんのお子さんは少し退屈そうだったかな(^^; 次のオフはドライブにバーベキュー、それにひょっとするとカンガルーと遊べちゃうかもしれないので、楽しみにしててね~(^^)/



ヒコボシさん、今日はお邪魔しました m(__)m
あ、よかったらMEGANISTEに登録してください(^^;

コメント ( 9 ) | Trackback ( 0 )


707円  


手持ちの現金が707円です
今日、ガソリンスタンドに立ち寄って、いつものようにハイオク満タンをお願いしてクレジットカードを出しました。ペットボトルのお茶を買って車に戻ってみると、ガソリンスタンドの兄ちゃんが、
「あのぉ、カード通らないんですけど?」
通らないって何?と思いつつも、おそらくカードが機械に認識されないかなにかで使えないんだろうと思って、
「じゃぁ現金で」
とお願いしました。

…と、その直後。
今日はあまり現金をもっていないことに気が付きました(^^;

財布をおそるおそる確認してみると、千円札が8枚と小銭がほんのちょっと…。満タンで50Lちょっと入るとして、高くても140円/Lだろうから7000円くらいで、おーなんとか足りそう、でもお昼ご飯どうするんだ?、会社に行くから最悪誰かに貸してもらうか、それにしても余裕がないなぁ(^^;

などなど頭をよぎっている間に「5000円分でお願いします」って言えばよかったことにあとから気づきました…

だいたい、いつもはカードが使えるガソリンスタンドなんに、今日は使えんちゃどういうことね 限度額の半分も使ってないっちゅーねん。

コメント ( 0 ) | Trackback ( 0 )




これの続きです。

だいたい、関数宣言の後の「throw()」って何だっけ??という謎を解くべく、プログラミング言語C++第3版を読んでいると…。

へぇ~、そういうこと~。
関数が例外をthrowしないことを示すもので、もし関数が例外を投げたらstd::terminate()が呼ばれるのね~。。ほぉ(^^

ならば、と3つのコードから吐き出されるアセンブラを比べてみました。

「void nothrow1() { }」
「void nothrow2() { try { } catch (...) { } }」
「void nothrow3() throw() { }」

結論は…
・nothrow1()とnothrow2()では、nothrow2()の方が4倍以上長いアセンブラになる
・nothrow2()では大量のスタックを使っているようだ
・nothrow2()では"__get_eh_context"という関数を呼び出している
・nothrow2()とnothrow3()では、アセンブラコードが全く同じ…え?!(^^;

たどり着いたのがこのページ。
http://www.felab.ustc.edu.cn/luzy/vxworks/faq/vxw_pt5.html#5.3-C

なんでも、"__get_eh_context"は"get exception handler context"の省略形らしく、"don't allocate any objects, even on the stack in your ISR." だそうです…

ここまで長かったなぁ…
でも、まだもう一つ重そうなバグがあるんだなぁ…

コメント ( 0 ) | Trackback ( 0 )




# 仕事上の覚書です。

現在、VxWorksを使用した組み込みシステムをC++言語で開発しています。
とある日、同僚が「動かしていたら止まるんよ~(泣」と言ってます。
いろいろ調べていくと…
「std::vector<int> vec;」
という行を入れると止まるらしい。入れる場所は割り込みのコンテキストで実行される関数の中。
ここまで調べるのに1週間ほど(^^;

「ん?でも待てよ?? スタック上に自動変数取るだけで、動的にヒープからメモリを取ってないから大丈夫なのでは?」という個人的な疑問と、「その行を削除してなんで良くなる?ちゃんと調べなさい!」という部長の一言のため、さらに深~いフカーイところを調べていきます。。

std::vectorのコンストラクタを調べて、
クラス階層を掘り進んで、
なんでこんなにifdefあんねん~と叫びつつ、
徐々に範囲を狭めていくと…

残ったのがこんな感じの関数でした。
「void nothrow() throw() { }」

実際は、たしか
「void allocator() __STL_NOTHROW { }」
です。

「void nothrow() throw() { }」の呼び出しを割り込みのコンテキストで呼ばれる関数に入れると数分後にキッチリ止まります。この呼び出しを消すと、2,3時間なにごともなく動き続ける。

犯人は、コレ、なのか?(^^;

TBへつづく。

コメント ( 0 ) | Trackback ( 0 )




私の家の近くには小さな川や田んぼがあります。
カエルの合唱が聞こえることもしばしば(^^;

最近、夜、外に出れば虫の音(ね)が聞こえてきます…

写真をクリックすると、虫の音を録音したファイルをダウンロードできます(170KB)。

コメント ( 0 ) | Trackback ( 0 )




風の見える丘公園から「まだお腹がすかんね~。。」とか言いながら波戸岬へ。

夕日には早い時間でした。もうちょっと日が沈むのを待とうかと思いましたが、低いところにたくさん雲があったのであきらめました。

で、帰ります…
18:50 呼子
20:30 福岡IC付近を通過
途中、二丈浜玉有料道路、西九州自動車道、福岡都市高速を経由しておよそ1時間半。
夕食をとって、さらに走って、帰り着いたのが22:30くらい。

ai様、丸一日のおもてなしツアーありがとうございました m(__)m またお願いします (^^;

コメント ( 0 ) | Trackback ( 0 )