タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

programmingとcに関するymorimoのブックマーク (2)

  • 【コラム】ライトニングJava (43) ソケット(2) - プログラミング言語に左右されないインタフェース | エンタープライズ | マイコミジャーナル

    ソケットはOSレベルで提供されるインタフェースであり、多くのプログラミング言語で対応している。今回はC言語とJava言語の両方を実装を示し、それがプログラミング言語に依らず動作することなどを紹介する。 C言語を使った実装 - server.c C言語で、標準ライブラリであるlibcにおけるソケットを使った場合の簡易サーバの実装例をリスト1に示す。これはFreeBSD 6.0で作成したものだが、ほかのUNIX系OSでもそのままか、少しの変更で使える。リスト1の実装は、バッファオーバフローや、こまごました部分の異常系は無視して実装したものだ。C言語でlibcだけを使って実装する場合のごくごく基的なものといえる。 リスト1 server.c - C言語 libc を使って実装した簡易サーバ #include <unistd.h> #include <netinet/in.h> #inclu

    ymorimo
    ymorimo 2006/04/04
    ソケット。写経しとこう
  • 普通のやつらの下を行け: assert_caller() - bkブログ

    普通のやつらの下を行け: assert_caller() 以前に、低レベルプログラミングを愛好する知人が「普通のやつらの下を行け」を口癖にしていました。当時は何を言っているのかと聞き流していましたが、自分も最近になってようやく低レベルプログラミングのおもしろさがわかってきました。今回は「普通のやつらの下を行け」企画の第一弾として assert_caller() なるものを作ってみたいと思います。 assert_caller() とは assert_caller() とは、特定の関数からの関数呼び出しだけを通すためのアサーションです。たとえば、次のように foo() の先頭で assert_caller(main) と書いた場合、 foo() は main() からしか呼び出せなくなります。他の関数から foo() を呼び出した場合はエラーメッセージとともに異常終了します。 void foo

    ymorimo
    ymorimo 2005/10/24
    下も行きたい
  • 1