Kyoto CabinetのWindows版が出た。正直言って面倒で気が進まない作業ではあったが、やるといったらやる男なのだ俺は。その作業過程についてのメモ。 抽象化 以前から、「TCのWindows版はないのか」という質問が多数の人から寄せられている。自分で移植を試みる... 続きを読む
以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりで... 続きを読む
前のエントリで線形探索のメモリアロケータは駄目だ駄目だ、と言いました。で、まず線形探索の何が駄目って、メモリは以下のようになっています。最初は「未使用領域(青)」しかありません。ここからどう領域をとっても良いです。ただ、使っていくうちに「使用... 続きを読む
このプログラムをコンパイルし実行すると、出力されるのは "A" でしょうか? それとも "B" でしょうか? 実際に試してみることなく、どんな振る舞いになるかがわかった方は、C/C++ に相当詳しい方です。 答えは "A" でもなければ "B" でもありません。処理系の... 続きを読む
プログラムの流れを制御する手段として、いわゆる「構造化構文(for とか if とか)」、悪名高い「goto 文」などがあるのは周知のことだが、かなり特殊なものとして、「setjmp, longjmp」による「非ローカル分岐」と呼ばれるものがある。この「非ローカル分岐」... 続きを読む
Status of C99 features in GCC This table is based on the list in the foreword to N1256 (ISO/IEC 9899:1999 (E), consolidated with ISO/IEC 9899:1999/Cor.1:2001 (E), ISO/IEC 9899:1999/Cor.2:2004 (E) and ISO/IEC 9899:1999/Cor.3:2007 (E)). Where "... 続きを読む
2008年下期には、Perl の File::Path モジュールの rmtree 関数に関する CVE が 3件発表された。 (CVE-2008-2827, CVE-2008-5302, CVE-2008-5303)また、symlink attack に関する CVE は 100件以上出ている。 テンポラリファイルの扱いに関する問題は古くからあ... 続きを読む
ref:http://d.hatena.ne.jp/kazuhooku/20090823/1251005064こゆのは? assert("piecoev is initialized and fs is in range" && (fd 続きを読む
2009年08月10日 Visual C++ 2008 での C99 対応 C99 の規格が成立してから 10 年が経つわけですが、VC++ 2008 では ANSI C89 (ISO C90) までしか対応しておらず、C99 は未対応のようです。 次期の VC++ 2010 でも状況は変わらないようです。(ベータ版のマニュ... 続きを読む
2009年08月03日 return 文に括弧を付ける(た)理由 また pre K&R C の話です。 pre K&R C の時代は、return 文が取る式を () で囲むことが文法上必須でした。その時代の習慣を引きずったためか、K&R (第1版) でも return 文の後の式を括弧で囲っていたようです... 続きを読む
gcc(Gnu C Compiler)の拡張文法 [警告!] C/C++言語初心者はこのページを読まないでください。 このページではgcc独自のC/C++拡張文法について解説します。 これらの拡張文法が可能にする機構は確かに便利なのですが、 もちろんANSI規格に従っていないので、一般... 続きを読む
素晴らしい。 2009-07-04 - 当面C#と.NETな記録問題の説明はここまでにして、コードの紹介です。Hacker's delight のコードより4〜5倍速く、そして、イミフ加減が半端じゃない!これ一つで 64bit 値以下のすべての値に対応できます。 でも、実際にどれくらい威... 続きを読む
初出: C MAGAZINE 1996年8月号 Updated: 1996-09-21 [←1つ前] [→1つ後] [↑質問一覧] [↑記事一覧] [ホームページ] 今回は、よく知られているけどちょっと分かりにくいアルゴリズム、あるいは、 今までの連載で出てきたトリッキーなコードについて、どのよう... 続きを読む
一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つけた... 続きを読む
2009年07月03日 素朴な C (pre K&R C) のお話 1969 年に Bell Lab の Kenneth L. Thompson と Dennis M. Ritchie がプロトタイプを作成した時から数えて、今年は UNIX 40 周年の節目だそうです。UNIX の 1/4 世紀という本がありますが、あと10 年したら UNIX の... 続きを読む
7. 文法一般 この章では C 言語に新たに加えられた指示付きの初期化子や複合リテラルといった文法や、暗黙時の宣言に関する変更といった、変更された文法について説明します。 7.1 暗黙の関数宣言 現在の C 言語の規格では、ある関数から他の関数を呼び出す時... 続きを読む
しかしこの話には後日談がある。菊やんさんが、面白い話題を振ってくれたのだ。 for (exp1;exp2;exp3) stと exp1; while (exp2) {st exp3;}が等価にならないのはcontinueがあるときとexp3で新しい名前が導入される場合かなexp3でAという名前が定義されると st ... 続きを読む
例の冷却ファンを修理してもらいに秋葉原に行ったのですが、最近の同人ゲームのクオリティはすごいなあと感心していたら、その二階はもっととんでもないことになってて、ひとつ大人になってしまったmikioです。今回は、Tokyo Cabinetのテンプレート直列化機能を... 続きを読む
| Log in | Create a new user | The Monastery Gates | Super Search | | Seekers of Perl Wisdom | Meditations | PerlMonks Discussion | Snippets | | Obfuscation | Reviews | Cool Uses For Perl | Perl News | Q&A | Tutorials | | Code | Poetry | R... 続きを読む
select, linux一応 select(2) も読んであったので説明しとく。メインループは非常に短いので抜粋。ここにはビットマップの転送処理は含まれていないので注意。max_select_fd() の前後が rcu_read_lock() と rcu_read_unlock() で囲まれているのは、ドキュメント... 続きを読む