m5knt

底が浅い男がなんとはなしに...

2013-01-01から1年間の記事一覧

マクロの可変引数が空の場合の判定が結構面倒にょろ

カンマの数を数えるのは結構簡単なんですが空と一つを区別するには結構ややこしいことに気づいて誰かやってるだろうってことで検索なんかして見つけるわけなんですがその実装がややこしくもっと楽な実装あるんじゃないか考えてみました 参考 https://gustedt…

BOOST_PP_BOOL が 256 までにょろ

プリプロセッサの常套手段としてルックアップテーブル的な実装で何でもこなしちゃうってのはまあ分かるんですが 有限なのはちょいと困るので 0 false !n true になるようなものを考えてみました 力技ならこんな感じ #define BOOL(x) BOOL ## x #define BOOL0…

@deprecated 指定したけど気に掛けてくれないにょろ

sprintf は危険なことが多く使ってほしくないので doxygen のドキュメントとして使ってほしくないリストへ現れるようにこんな感じにしてたんですが /// @deprecated #define sprintf sprintf 危険な関数を使ってしまう奴は doxygen 出力して把握してくれるわ…

フォーマットを扱うマクロを適切に使い分けてくれないにょろ

C言語で文字列を整形する為に printf 等を利用することが多いわけなんですが printf 的なものをマクロ LOGF(...) でくるむと文字列表示期待で LOGF("%s", "A") ではなく LOGF("A") としがちです、%が混じってなければ安全なんですがこのような形を続けられる…

QNAP QTS4.0.1 で unicorn 入れる手順メモ

raindrops が libatomic_ops いるみたいなので突っ込む libatomic_ops-1.2 取ってきて configure --prefix=/opt/libatomic_ops-1.2 make make check make install gem install raindrops -- --build-flags --with-opt-dir=/opt/libatmic_ops-1.2 Gemfile.loc…

QNAP TS410 QTS4.0.1 で ruby を入れる手順~

QTS 4.0.1 は ruby 1.9.1 までだし redmine 2.3 は ruby 1.9.1 サポートしてないし しょうがないな~とか思いながら ruby-1.9.3-p448 突っ込んだ時のメモです間違ってたらごめ~ん ちなみに ruby-2.0.0-p247 はビルド中 segfault 食らうので ICE かも

SCons チートシート

SCons SCons2.2Man まだ編集中なりよ~