<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>ぷるぐらむ</title><link>http://blogs.wankuma.com/aoitan/category/1883.aspx</link><description>　プログラム関連の話題を扱ったカテゴリです。</description><managingEditor>長月 葵 -aoitan@wankuma.com</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>長月 葵 -aoitan@wankuma.com</dc:creator><title>東京勉強会#22</title><link>http://blogs.wankuma.com/aoitan/archive/2008/07/15/148979.aspx</link><pubDate>Tue, 15 Jul 2008 19:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/aoitan/archive/2008/07/15/148979.aspx</guid><wfw:comment>http://blogs.wankuma.com/aoitan/comments/148979.aspx</wfw:comment><comments>http://blogs.wankuma.com/aoitan/archive/2008/07/15/148979.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://blogs.wankuma.com/aoitan/comments/commentRss/148979.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/aoitan/services/trackbacks/148979.aspx</trackback:ping><description>&lt;P&gt;　&lt;A href="http://blogs.wankuma.com/ch3cooh/"&gt;酢酸&lt;/A&gt;と行ってきました東京勉強会#22。&lt;BR&gt;　前日に&lt;A href="http://blogs.wankuma.com/naka/"&gt;中さん&lt;/A&gt;&lt;STRIKE&gt;濃く竜&lt;/STRIKE&gt;&lt;A href="http://blogs.wankuma.com/kokuryu/"&gt;黒龍さん&lt;/A&gt;、&lt;A href="http://blogs.wankuma.com/koka/"&gt;kokaさん&lt;/A&gt;、&lt;A href="http://blogs.wankuma.com/rafale/"&gt;rafaleさん&lt;/A&gt;とラーメン食べてたにも関わらず一言も漏らさずにサプライズを演出してみました。&lt;BR&gt;　案の定&lt;A href="http://blogs.wankuma.com/non/"&gt;のんちゃん&lt;/A&gt;や中さんが驚いてくれてご満悦でしたよ。&lt;/P&gt;
&lt;P&gt;　肝心のセッションは&lt;A href="http://d.hatena.ne.jp/faith_and_brave/"&gt;アキラさん&lt;/A&gt;のC++0xがお目当て。これがなかったらいきませんでした。期待通り&lt;A href="http://blogs.wankuma.com/episteme/"&gt;επιさん&lt;/A&gt;と&lt;A href="http://blogs.wankuma.com/izmktr/"&gt;出水さん&lt;/A&gt;もいて濃ゆいお話が聞けました。&lt;BR&gt;　いいですねわんくま、わんくま以外ではこんな話できるつながりないです。&lt;BR&gt;　他の人のセッションは寝不足のせいであんまり頭に入ってません（ちょｗｗｗ&lt;BR&gt;　一応公称&lt;A href="http://blogs.wankuma.com/shuujin/"&gt;囚人&lt;/A&gt;信者で建前上囚人さんに会いに行ったことになっているので囚人さんのセッションはある程度覚えてます。変換中なのに確定文字列押しのけるんですよね？(そこしか覚えてな&amp;#8230;&amp;#8230;&lt;/P&gt;
&lt;P&gt;　懇親会ではC++組に絡みにいきました。程なくεπιさんと&lt;A href="http://blogs.wankuma.com/melt/"&gt;meltさん&lt;/A&gt;も寄ってきて面白そうな雰囲気に。飲みの席でプログラミングの話になるのもわんくまいいなあと思ったところですね。同僚と飲みにいくと愚痴かアニメの二択です。&lt;BR&gt;　あとεπιさんにも突っ込まれましたが自己紹介ｇｄｇｄなのは毎回の事なので仕様と割り切ってもらえると助かります。&lt;/P&gt;
&lt;P&gt;　二次会以降はカラオケ組に。オール前提で朝にチケットを取ってあったので当然三次会以降もカラオケです。&lt;BR&gt;　一番しばり＝＞アニソンしばり＝＞&lt;A href="http://blogs.wankuma.com/mnow/"&gt;えムナウ&lt;/A&gt;さんしばりと縛られ続けたカラオケですがこういうの却って面白いですね。&lt;/P&gt;
&lt;P&gt;　四次会はFirst Kitchen。&lt;A href="http://blogs.wankuma.com/carbonara/"&gt;かるぼさん&lt;/A&gt;のぐったり感が印象的でした。お疲れ様です。&lt;BR&gt;　でも一番印象に残ったのがおでんさん。あなたそれ車買えますよ、新車で。&lt;/P&gt;
&lt;P&gt;　帰り道は寝てたので記憶ないです。大阪から関西本線に乗ったつもりで環状線に乗った上に終点まで寝過ごしてユニバーサルシティの方に行ってしまって余分に一時間掛かったとかほほえましいエピソードなんて憶えてません。&lt;/P&gt;
&lt;P&gt;　とりあえず今後関東の勉強会行くことがあってもオールはすまいと心に決めた長月でした。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/aoitan/aggbug/148979.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>長月 葵 -aoitan@wankuma.com</dc:creator><title>[Perl][お題]テキスト行の逆順表示その後</title><link>http://blogs.wankuma.com/aoitan/archive/2008/07/09/148154.aspx</link><pubDate>Wed, 09 Jul 2008 15:11:00 GMT</pubDate><guid>http://blogs.wankuma.com/aoitan/archive/2008/07/09/148154.aspx</guid><wfw:comment>http://blogs.wankuma.com/aoitan/comments/148154.aspx</wfw:comment><comments>http://blogs.wankuma.com/aoitan/archive/2008/07/09/148154.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/aoitan/comments/commentRss/148154.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/aoitan/services/trackbacks/148154.aspx</trackback:ping><description>&lt;P&gt;　&lt;A href="http://blogs.wankuma.com/aoitan/archive/2008/07/09/148132.aspx"&gt;元ネタ&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;　ワンライナー版&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;pre&gt;perl -e "print join('', reverse(&lt;&gt;));" hoge.txt&lt;/pre&gt;&lt;img src ="http://blogs.wankuma.com/aoitan/aggbug/148154.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>長月 葵 -aoitan@wankuma.com</dc:creator><title>[Perl][お題]テキスト行の逆順表示</title><link>http://blogs.wankuma.com/aoitan/archive/2008/07/09/148132.aspx</link><pubDate>Wed, 09 Jul 2008 13:44:00 GMT</pubDate><guid>http://blogs.wankuma.com/aoitan/archive/2008/07/09/148132.aspx</guid><wfw:comment>http://blogs.wankuma.com/aoitan/comments/148132.aspx</wfw:comment><comments>http://blogs.wankuma.com/aoitan/archive/2008/07/09/148132.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/aoitan/comments/commentRss/148132.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/aoitan/services/trackbacks/148132.aspx</trackback:ping><description>&lt;P&gt;　&lt;A href="http://blogs.wankuma.com/nagase/archive/2008/07/09/148108.aspx"&gt;元ネタ&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;　Rubyって書いてあったのでPerlでやってみました（何&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;
open(F, "&amp;lt;hoge.txt") or die "oops\n";
@line = &amp;lt;F&amp;gt;;
@line = reverse(@line);
print join("", @line);
close(F);
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;これぐらいならがんばればワンライナーできそうな気も。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/aoitan/aggbug/148132.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>長月 葵 -aoitan@wankuma.com</dc:creator><title>[C]16bitCPUの罠(´・ω・｀)</title><link>http://blogs.wankuma.com/aoitan/archive/2008/07/04/147289.aspx</link><pubDate>Fri, 04 Jul 2008 11:25:00 GMT</pubDate><guid>http://blogs.wankuma.com/aoitan/archive/2008/07/04/147289.aspx</guid><wfw:comment>http://blogs.wankuma.com/aoitan/comments/147289.aspx</wfw:comment><comments>http://blogs.wankuma.com/aoitan/archive/2008/07/04/147289.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/aoitan/comments/commentRss/147289.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/aoitan/services/trackbacks/147289.aspx</trackback:ping><description>&lt;P&gt;　printf()相当の関数を使ってCOM1にログをはいてます。&lt;BR&gt;　関数のトレースログに引数も一緒に表示しようと以下のようにしてみました。&lt;/P&gt;&lt;PRE&gt;void hoge(WORD arg1, WORD arg2, DWORD arg3)
{
  logprintf("arg1 = %x, arg2 = %x, arg3 = %x\n"
        , arg1, arg2, arg3);
    :
}
&lt;/PRE&gt;
&lt;P&gt;　たいていのprintfはサイズ指定フラグを指示しなくてもちゃんとやってくれるので書きませんでした。&lt;BR&gt;　でも出てきた結果は想像と違いました。arg1に0x1234、arg2に0x5678、arg3に0x9ABCDEF0が入っていたとしたとき、出てきた結果は以下のようなものでした。&lt;/P&gt;&lt;PRE&gt;arg1 = 0x56781234, arg2 = 0x9ABCDEF0, arg3 = 0x00000000
&lt;/PRE&gt;
&lt;P&gt;　ぶｗｗｗｗつまっとるｗｗｗｗｗ&lt;BR&gt;　確かに理屈の上では...でとった引数は割りと無秩序にスタックに積まれるはずですから、PCなんかで試してみれば32bitアラインメントの都合で32bitごとに積んでいって問題なく表示するんでしょうが、ターゲットが16bitアラインメントなので16bitの変数はそのまま並べちゃったんですね。でも量指定フラグがなくてint相当の幅として扱ったので上記の結果と。&lt;BR&gt;　理屈がわかれば対応は簡単、量指定フラグを付け足してやりましょう。&lt;/P&gt;&lt;PRE&gt;void hoge(WORD arg1, WORD arg2, DWORD arg3)
{
  logprintf("arg1 = %hx, arg2 = %hx, arg3 = %x\n"
        , arg1, arg2, arg3);
    :
}
&lt;/PRE&gt;
&lt;P&gt;　表示しない&amp;#8230;&amp;#8230;orz&lt;BR&gt;　関数仕様 (と言うかヘッダコメント) を読んでみた感じどうも量指定フラグには対応してないようです。どないせいと。&lt;BR&gt;　しかしそこは自称紙一重のこちら側な長月、すぐさま思いつきました。%xが32bitとるなら32bitな型にキャストしてやればよい。&lt;/P&gt;&lt;PRE&gt;void hoge(WORD arg1, WORD arg2, DWORD arg3)
{
  logprintf("arg1 = %4x, arg2 = %4x, arg3 = %x\n"
        , (DWORD)arg1, (DWORD)arg2, arg3);
    :
}
&lt;/PRE&gt;&lt;PRE&gt;arg1 = 0x1234, arg2 = 0x5678, arg3 = 0x9ABCDEF0
&lt;/PRE&gt;
&lt;P&gt;　表示もちゃんとできました。お疲れ様でした。&lt;BR&gt;　でもこんなコード書かなきゃいけない環境に涙目です。スタックにできた合計32bitの隙間も微妙にもったいないです。と言うかアセンブリレベルで考えたときにロードとストアの効率が半分です。もったいないもったいない&amp;#8230;&amp;#8230;。&lt;/P&gt;
&lt;P&gt;　と言うわけでぷるぐらみんぐネタに見せかけた日記でした。&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/aoitan/aggbug/147289.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>長月 葵 -aoitan@wankuma.com</dc:creator><title>[Perl][脳内バグ]思い込みってこわいなー</title><link>http://blogs.wankuma.com/aoitan/archive/2008/07/01/146519.aspx</link><pubDate>Tue, 01 Jul 2008 14:02:00 GMT</pubDate><guid>http://blogs.wankuma.com/aoitan/archive/2008/07/01/146519.aspx</guid><wfw:comment>http://blogs.wankuma.com/aoitan/comments/146519.aspx</wfw:comment><comments>http://blogs.wankuma.com/aoitan/archive/2008/07/01/146519.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/aoitan/comments/commentRss/146519.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/aoitan/services/trackbacks/146519.aspx</trackback:ping><description>&lt;P&gt;　今ログを整形するPerlスクリプトを書いていてはまったこと。&lt;/P&gt;
&lt;P&gt;　やりたいのは0x????な16進数をシンボルに置き換えるだけ。Perlだとハッシュな対応表から引いてくるだけの簡単なお仕事です。&lt;/P&gt;
&lt;P&gt;&amp;nbsp; $_ =~ s/^id = (0x[0-9A-F]{4})/id = $hex2id{\1}/;&lt;/P&gt;
&lt;P&gt;　これで置き換えできちゃうぞ、簡単簡単と思っていたんですが走らせて見ると変換されない。デバッグプリントで$1を表示してみたら期待通り0x????が取れてる。%hex2idの中身を表示してみてもちゃんと入ってる。なんでだろと思って\を$に変えてみたところ。&lt;/P&gt;
&lt;P&gt;&amp;nbsp; $_ =~ s/^id = (0x[0-9A-F]{4})/id = $hex2id{$1}/;&lt;/P&gt;
&lt;P&gt;　あれ？　表示される。そういえば昔同じところではまった記憶ががが。。。&lt;/P&gt;
&lt;P&gt;　すっかり忘れてましたが置き換え文字列って正規表現文字列の外なんですよね。今度こそ忘れないようにpostしておきます。しょぼーん。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/aoitan/aggbug/146519.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>