タグ

2009年10月9日のブックマーク (4件)

  • バッファリング

    バッファリングとは バッファとは、データの一時的な保存場所のことです。 バッファリングとは、バッファにデータを一時的に保存しておくことです。 例えば perl で print 文を使うと、影でバッファリングが 行われています。 例えば、画面に「abc」という文字を表示することを考えましょう。 プログラムが a を出力、b を出力、c を出力、と1文字ずつ 出力してもいいのですが、一度に「abcd」という文字列を 表示した方が速度があがります。「画面に文字を表示しろ」という 機能は OS が持っているのですが、その機能を 呼び出すこと自体 それなりの時間がかかるからです。 具体的に言うと、システムコールの呼び出しには それなりのオーバーヘッドがかかりますし、 システムコール呼び出しをきっかけとして プロセスの切替えが起こりますので、 極力システムコールは使わないようにすべきです。 また、ww

    slash_01
    slash_01 2009/10/09
    なるほど。謎が解けた。
  • Index of /

    Index of /

  • Cygwin版RubyでIPv6通信ができない - torutkのブログ

    Ruby事始でまずはCygwin版を入れてみました。IPv6通信をしようとしてもエラーとなってしまいます。TCPSocketのあて先にIPv6アドレス文字列を入れるとエラーとなります。 そこで、まずはCygwinがIPv6対応しているか確認しようとGCCでIPv6ソケット通信プログラムをコンパイルしようとしてstruct addrinfoが認識できずエラー、どうも標準のCygwinではNGのようです。 下記URLでCygwin向けIPv6拡張パッケージを作成・公開しているサイトを発見しました。なるほど、Cygwin自体はIPv6向けのソケットAPIを提供していないということのようです。 http://win6.jp/Cygwin/index-j.html となると、Cygwin版RubyIPv6非対応でビルドされている可能性が濃厚です。TCPSocketのnewはやはり失敗します。

    Cygwin版RubyでIPv6通信ができない - torutkのブログ
    slash_01
    slash_01 2009/10/09
    MinGWでもコンパイルできない・・・orz
  • getaddrinfo:Geekなぺーじ

    IPでの名前解決を行なうためにgethostbynameを使うのが一般的でしたが、IPv6の登場とともに、名前解決にgetaddrinfo()を使わなくてはならなくなってしまいました。 ここでは、WindowsとVC++という環境でgetaddrinfoを使った例を説明していきたいと思います。 準備 まず、winsock2の開発環境が新しい必要があります。 古いものだと、getaddrinfoとstruct addrinfoが入っていません。 また、winsock2を使うので、ws2_32.libにリンクする必要があります。 個人的にはWindowsXP以降のもの意外ではあまりgetaddrinfoを使おうと思いません。 というのも、IPv6が入っているのがWindowsXPからで、それより前ならばgethostbynameを使えばいいかなと思っているからです。 WindowsXPには、I