Code Archive Skip to content Google About Google Privacy Terms
http://partake.in/events/bc4eb051-da12-465c-84d8-3ab93a4390de スタートC language面白論文紹介&読み会です。 タイトル通りに、C言語オンリーです。 今の所日程としては、9月はICFPはじめとして色々ありますので、10月の1日にしておきました。 7,8時間ぐらいはやりたいかなーと思っています。 それでまぁぼくはこういうのやる時は、参加者皆が発表するっていうのを考えているので10人全員発表するとなると、1人(ツッコミや議論を含んで)45分だと、45 * 10 = 7.5時間で丁度良いかなぁみたいな。 ネタ被りは出来るだけ避けたいので、発表したい方はコメントを残してもらえればそれをreserveということにしたいと思います。
はじめに JavaScriptCore (WebKit/Safari の JavaScript エンジン) を C 言語に組込む方法を調べてみました。 解説はソースコード中のコメントを見てください。 まず 以下のコードを hoge.c とかいう名前で保存します。 #include <JavaScriptCore/JavaScriptCore.h> static JSValueRef jsGlobalPrint( JSContextRef ctx, JSObjectRef jobj, JSObjectRef jobjThis, size_t argLen, const JSObjectRef args[], JSValueRef* jobjExp); int main(int argc, char** argv) { if (argc == 1) exit(0); // ---- グローバル
PHPはソースコードを読めばわかるとおりC言語で書いてあります。 そのC言語の中でPHPがどんな処理をしているのかをデバッガであるgdbを用いて見ることができるのでそれを紹介します。まぁ普通のgdbの使い方なんですが:p ソースをダウンロードしてコンパイル PHP-5.2.6のソースをダウンロードします。 まず./configureするとのMakefileができます。 このMakefileの中で-gオプションがついていることを確認しましょう。*1 これがデバッガ(gdb)用のオプションで、コンパイルされたバイナリファイルにソースコードとの対応付けができます。 次にmakeします。時間がかかります。 サンプルファイル makeしている間に次のようなPHPファイルを作成しましょう。 <?php $i = "12"; $k = intval($i); ?> これは文字列の"12"をintval関
2008年5月13日 C だと何でも自前実装する病 http://d.hatena.ne.jp/a2c/20080513/1210649174 文化的な特性にもよるが、ポータビリティなどの目的で C を使って書かれたライブラリは外部ライブラリへやたらと依存しないようにするため、辞書型も可変長配列も毎回自前実装する、もしくは同じライセンスの別のライブラリから持ってくるなどして内部に持とうとしてしまうようなことがある。辞書型はハッシュ関数を作ってハッシュテーブルのサイズは素数でどうたらなどとやったり可変長配列は自前で倍倍 realloc() したりする。いくら慣れれば簡単とは言え毎回車輪を際発明するのはどうかと思うが、じゃあ外部ライブラリをインストールするようユーザーに求めるのもださいよな、などと思ってしまう。頭の中には抽象化されたレイヤーではなく変数が格納されたメモリマップが直接描かれ、コン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く