本ソース群は、「C言語による科学技術計算サブルーチンライブラリ」(注1)をベースに、各分類の中にいくつかの関数を付け加えたものです。 アルゴリズムには大きな変更は加えていませんが、関数の型や、プロトタイプ宣言等は、かなりの部分を書き換えています。(オリジナル版は、全てのルーチンが int 型であり、ユーザプログラムでの宣言を不必要としていましたが、コーディング効率の向上と、コーディング品質向上のための関数プロトタイプ宣言の必須化の動向を受け変更しました。本変更に伴い、ヘッダファイル "sslib.h" を新たに準備しました。) また、説明文や使用例に関してもより充実させています。 本プログラム群は、下記2~18のプログラムを個別にコンパイルした後、1個のライブラリ化することを前提に作成されています。 各使用例は、そのライブラリを使用した例です。 但し、各プログラム群は、独立性が高い為、ほと
netfilterは、Linuxのパケットフィルタです。これを使うとネットワークを使って色々と遊ぶ事ができます。 libnetfilterの強力さをアピールする為に、パケットモニタを書いてみました。読みやすさの為にエラー処理を徹底的に省いていますが、特に読みづらくしたりする事なく、57行で書けています。 論より証拠。以下がソースコードです。 #include <stdio.h> #include <netinet/in.h> #include <linux/netfilter.h> #include <libnetfilter_queue/libnetfilter_queue.h> #define QUEUE_ID 2 static void print(const char *buf, int len) { int i; for(i = 0; i < len; ++i) { printf
Ruby には使われなくなったメモリを自動的に検出し解放してくれる ガベージコレクションの機能がある。 この節ではこのガベージコレクションの詳細を追ってゆく。 オブジェクトの管理 Ruby の GC は Ruby のオブジェクトのみが対象だ。かつ、Ruby が 生成し管理しているメモリにないといけない。逆に言うとユーザが勝手に 割りあてたメモリまでは面倒をみてくれないということだ。たとえば 以下の関数はメモリリークを起こす。 void koreha_dame() { malloc(1024); /* メモリをもらっては捨てる */ } 一方で以下の関数はメモリリークを起こさない。 void daijoubu() { rb_ary_new(); /* Ruby の配列を作っては捨てる */ } Ruby のオブジェクトはようするに struct RVALUE だったから、オブ ジェクトの管理
OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr
SpiderMonkey は 、C / C++ で書かれた JavaScript エンジンです。Firefoxを含む、Mozillaの複数の製品で使用されており、MPL2 ライセンスの下で利用できます。 独立したソースコードリリースは、リリースページにあります。 ビルド SpiderMonkey のビルド手順 SpiderMonkey をビルドしてテストスイートを実行する方法について。 SpiderMonkey の利用 JavaScript シェルの手引き JavaScript シェルの取得、構築、利用方法について。 JSAPI ユーザガイド このガイドでは、SpiderMonkey の概要と、あなたのアプリケーションを JavaScript 対応にするため、アプリケーションから組み込んだエンジンを呼び出す方法について説明します。 JSAPI クックブック よく使われる JavaScri
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く