タグ

2010年3月3日のブックマーク (2件)

  • 2009-07-13

    /** * 拡大用関数 * Graphics g * Image image 拡大する画像 * int dx, dy 描画先座標 * int scaled 拡大率 * int sx, sy 描画元座標 * int width, height 描画元サイズ */ private void drawScaledImage1(Graphics g, Image image, int dx, int dy, int scaled, int sx, int sy, int width, int height) { int w = width * scaled; int h = height * scaled; int[] pixels = new int[width*height]; int[] scaled_pixels = new int[w*h]; image.getRGB(pixels, 0

    2009-07-13
    mugaki
    mugaki 2010/03/03
  • Super Technique 講座~可変長引数マクロ

    可変長引数関数とは、皆さんお馴染みの printf 属、scanf 属関数の引数である、アレである。フツーの関数は引数の数が固定されており、いくつでも引数を勝手に渡せる、という仕様は例外である。あと、execl(3) やXツールキットで使われる XtVaCreateManagedWidget() などの場合も、やはり引数がいくつでも渡せるが、この場合には最後の引数が NULL じゃないといけない、という制限があったりする。こういう妙チクリンな関数はどうやって実装しているのだろう??? stdarg.h とか varargs.h について 引数って何? va_arg マクロの使用例 FORTRAN 風書式出力 stdarg.h とか varargs.h について 変な見出しである。実はかつてはこういうヘッダファイルがインクルードディレクトリに存在し、その中にこういう可変長引数を扱うためのマク

    mugaki
    mugaki 2010/03/03