【お知らせ】プログラミング記事の投稿はQiitaに移行しました。x86ここまで見てきた計算方法で、どれくらい高速化するか実験します。引き続き整数の割り算を掛け算に変換する方法について考えます。引き続き整数の割り算を掛け算に変換する方法について考えます。(1)C言語コンパイラの出力を見ていると、除数が定数の場合に整数の割り算を掛け算に変換していることに気付きます。これがどんな原理で行われているのか考えてみました。*の説明を求められましたが、なかなか納得してもらえませんでした。説明を工夫するだけでは限界があると感じたので、別の方法でどうにかならないかを考えてみました。前回の記事の延長線上で説明します。サンプルコードを再掲します。対象環境を限定できる場合、バイト配列にリトルエンディアンで32bit値を書き込むときに、私は以下のように書いていました。JIT数回に分けて文字列配列を作ってみます。手始めに検証用サブルーチンをJITで作ってみます。コンパイラ実装会で出た話題です。関数のサイズを取ろうとしたら1になりました。C言語COMのメモリレイアウトを理解するため、なるべく既存のマクロを使わないでC言語から呼び出してみました。使わせていただきました。C言語でC...手動呼び出し2011-02-20引数と戻り値の省略C言語PE勉強会(1)で配布した資料(id:n7shi:20110219)のサンプルコードに問題があり、ご指摘を受けました。調べた所、色々な意味で突っ込みどころが満載でした。結論から言うと、以下のように書くのが無難なようです。C言語Haskellをどこから使い始めれば良いのか分からずに放置していたのですが、何気なく検索したFFIが気になったので遊んでみました。Win32昨日C#で作ったものと同じようなものをC言語で実装してみました。二重起動判定はMutexではなくFindWindow()で行っています。簡単に実装するため、.NETリモーティングの代わりにWM_SETTEXTを投げています。id:n7shi:20110204C言語で外部ライブラリ(libjpeg等)を使わずにJPEGの画像サイズを取得するプログラムを書いてみました。パブリックドメインに置いておきます。C言語C言語で浮動小数点数を算出するプログラムを書いてみました。2007-02-26パイプ進捗表示ツールC言語ファイルを標準出力に転送しながら進捗を表示する小さなツールを作成しました。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。