タグ

2006年8月11日のブックマーク (3件)

  • 再入不可能な関数を C で実装する - いやなブログ

    再入不可能な関数を C で実装する 一度実行したら二度と中身を実行できなくなる再入不可能な関数を C で実装してみます。通常、このような関数はシングルトンなどの静的なデータの初期化に使いますが、ここではデータについては考えないことにします。 static 変数をフラグに使う まずは最も単純な方法から見ていきます。次の関数は static 変数をフラグに使って再入を防いでいます。厳密に言えば関数そのものには入ってしまっていますが、ここで気にしないことにします。 void once(void) { static int entered; // 最初は 0 if (entered == 1) { // すでに入ったことがある場合は return; // すぐ出る } entered = 1; // 初回の場合のみ、何かを実行する } この方法はシングルスレッドのプログラムではうまく動きますが、マ

    nozom
    nozom 2006/08/11
    アトミック命令cmpxchg…ってそんな命令あったのか(486以降)。__asm__の使い方も参考になる。
  • CodeZine:JavaCCでスクリプト言語を作成する 第1回 ダウンロードとビルド

    はじめに 少し前まではプログラム言語と言えばJavaC++、VBという感じでしたが、Webの広まりと共にPerlが使われて、PHPが現れ、Rubyが注目されて、JavaScriptが熱をおび、いろいろな言語が活気付いてきました。そして最近は、手続き型以外の関数型言語や論理型言語などにも触手が伸びているようです。 こうなると、次はプログラム言語を実装したりオリジナルのプログラム言語を作ってみたい人も増えてくるかもしれません。そこで稿では、JavaCCを使ってプログラム言語を実装する手順を解説します。対象読者 Javaの基が分かっていてプログラム言語の作成に興味がある方。必要な環境 JavaCCは最新の4.0を利用します。ダウンロードしたファイルを任意のフォルダに展開しておいてください。 今回はJ2SE 5.0をベースにプログラムを記述します。JavaCC自体はJ2SE 5.0に依存する

  • 武装錬金ドットコム

    欢迎访问抖阴com.【busourenkin.com】网站,抖阴成人在线观看的直播间里看到流行的舞蹈和动听的声音,还可以在抖阴黄色软件,抖阴污视频在线观看线上有一个另类的睡觉主播,营造一个可以睡觉的直播环境,一个完全放松的直播间,一个很好的直播环境,让人感觉很舒服。

    nozom
    nozom 2006/08/11
    10月からテレビアニメ化らしい