調べたこと、作ったことをメモしています。
こちらに移行中: https://blog.shimazu.me/

c

CERT C セキュアコーディングスタンダード

Link: CERT C セキュアコーディングスタンダード ものすごくわかりやすく典型ミスと解決案がまとめてあるから勉強になりそう。

amiq11/arenaoverflow.c

Link: amiq11/arenaoverflow.c <blockquote class="link_og_blockquote">arenaが思ったとおりに動作しているか確認するためのコード。 2013/12/27時点でcloneしたmrubyでは正常動作しなかったが、#1637のプルリクで1/3に直っている。 この例だとarenaに保護されているようだが、いつ放置されるのかよ</blockquote>…

mruby で C 言語の構造体をラップしたオブジェクトを作る正しい方法

Link: mruby で C 言語の構造体をラップしたオブジェクトを作る正しい方法 試しにmrbgemsを書いてみるのにちょうどいい勉強になった。

rvmでインストールしたmrubyを走らせてみる

概要 rvmでインストールしたmrubyを使ってみた。 いろいろ調べていると、どうも走らせ方が古い記事ばかり見つかってうまく行かなかった。 ということで、自分で調べた現状での走らせ方をメモしておく。 間違ってたり、このほうがいいよ、とかあったらぜひ教…

mrubyのmrb_gc_arena_save()/mrb_gc_arena_restore()の使い方 - Matzにっき(2013-07-31)

Link: mrubyのmrb_gc_arena_save()/mrb_gc_arena_restore()の使い方 - Matzにっき(2013-07-31) 最近mrubyを使おうとしていて、とりあえずmruby.hを見て関数を調べていたら、gc_arena_save/restoreとかいうのがあってよくわからなかったので調べたところ、mat…

amiq11/heaptree.c

Link: amiq11/heaptree.c <blockquote class="link_og_blockquote">Binary Heap - Gist is a simple way to share snippets of text and code with others.</blockquote> 二分ヒープをアルゴリズムの勉強がてら試しに実装してみた。 htree_cmp_tは本来htree型に入れようと思ったんだけど、コンパイル時に決定する…

マルチキークイックソート ( multi-key quick sort )

ケンキュウシツの先輩が前から進捗報告で話してるのを見ていてなんだろうと思っていたので実装してみた。 テストちゃんとしてないしもしかしたら間違ってるかも。 こういうのを上げるのって怖い人にいじめられそうで怖いな?笑 //! gcc -o multikeyquicksort…

malloc(3)のメモリ管理構造 | VA Linux Systems Japan株式会社

Link: malloc(3)のメモリ管理構造 | VA Linux Systems Japan株式会社 <blockquote class="link_og_blockquote">OSSについての技術解説や、技術調査・検証レポートなどを公開しています。</blockquote> めちゃめちゃわかりやすいけどごっついmallocの実装に関する資料。

C/C++ で使える Hashtable - BOOLEANLABEL

Link: C/C++ で使える Hashtable - BOOLEANLABEL <blockquote class="link_og_blockquote"> Java のように豊富なライブラリを標準で提供している開発言語を使い慣れてしまうと、ふと C に戻った時に..</blockquote> Cでハッシュテーブルを使おうと思った時に、車輪の再発明は嫌だし性能もどうせ悪いだろうしってい…

intrinsicを用いたSIMD化

Link: intrinsicを用いたSIMD化 めっちゃわかりやすく書いてあるから参考に簡単な文字列の比較コードを書いてみた。 けどstrcmpに勝ててないという。笑 #define ALIGNED __attribute__ ((aligned (16))) static __m128i rmask, rzero; /* initialize simd co…

getcharをnonblockingで行う ( ターミナルからの入力で改行を待たない )

概要 通常、getchar()とやっても改行を入力するまでは待ち、改行を入力するとドバっと複数文字が処理される。バッファリングされているんだろうとfflushやsetbufをしても無理。ということで、ターミナル側でバッファリングされているんだろうということは検…