タグ

2009年8月19日のブックマーク (4件)

  • 最適化の為のアセンブラ入門

    現在、アセンブラを使わなければならないという状況はあまりありませんが、最適化をする場合はアセンブラを知っている方がなにかと有利です。特に、コンパイラの吐いたコードを吟味することはとても重要です。よってここでは、アセンブラコードを読む能力と、簡単なアセンブラコードを書く能力を身に付けることを目標とします。 この記事は Windows 上で VC++ を使う場合を想定して書いていますが、BCC でも殆ど同じですし、gcc でも少し書き方を変えれば使えます。Intel のプロセッサ上で動く Linux 等でも基的な部分は同じですし、命令セットの異なるプロセッサでも、基的な部分は役に立つと思います。ターゲットは Intel Pentium 系プロセッサです。 第0回 アセンブラってどういうもの? 第1回 代入と基的な演算 第2回 定数とメモリの扱い 第3回 レジスタについて 第4回 分岐命

  • 第9回 C の関数との連携

    前のページ | 目次 | 次のページ 今回の内容 前回サブルーチンの呼び出しをやったので、今回はその応用として C の関数との連携をやります。この辺は処理系に依存するので、Windows の場合に限って話を進めます。 呼び出し規約 まず、C の呼び出し規約は3種類あります。VC++ の名前で言うと __cdecl, __stdcall, __fastcall です。VC++ では普段使われているのが __cdecl で、DLL などで使う WINAPI は __stdcall に define されています。__fastcall は普通使われていないようです。また、C++ のメンバ関数呼び出し用の規約として thiscall というのもあります。 まず、全ての規約の概略を説明しましょう。引数はスタックに push して渡します。32bit 以下の引数は全て 32bit に拡張されてスタック

  • FreeBSD Manual Pages

    Skip site navigation (1)Skip section navigation (2) Header And Logo Peripheral Links . Donate to FreeBSD . Search Site Navigation FreeBSD Manual Pages man apropos home | help Legal Notices | © 1995-2024 The FreeBSD Project. All rights reserved. Contact

  • make(1)