c

Python Hack-a-thon で発表してきました!!

今回は資料の作成が後手に回ってしまい、運営の方々や発表者の皆様には大変迷惑をおかけしました。さて、今回は ctypes 拡張モジュールに関する内容を発表させていただきました。ctypes拡張モジュールView more presentations from Moriyoshi Koizumi. php-i…

よくあるこういうのにハマった。

c

ついやってしまうので自戒を込めて。(C99) #include <stdio.h> struct vector { double elts[3]; }; #define create_vector_1(a, b, c) (struct vector){ a, b, c } static inline struct vector create_vector_2(double a, double b, double c) { return (struct vec</stdio.h>…

enum型とtypeof()とgccとg++

次のような C のコードを gcc でコンパイルしたとき、シンボル「a」のデバッグ情報がどのように DWARF になっているかを dwarfdump で見てみると... enum X { A }; typeof(A)* a; なんかとても残念なことになっていた。 LOCAL_SYMBOLS: <1>< 45> DW_TAG_enum…

Objective-C を使わずに Cocoa を使ってみるテスト

PyObjC とか RubyCocoa とかの話ではなく、C で書くって話。 なんかも結局 #import 使ってるので全部自前で用意した次第。 $ gcc -o test test.c -framework AppKitなどとしてコンパイルして実行すると空のウィンドウが出現します。Objective-C 2.0 の API …

美人ゴルフ用サーバ

もうすっかり時期を逃した感があるけど、とりあえず書いてしまったので貼っときます。美人ゴルフをするのに、実在するwww.bijint.comのサーバにアクセスするのは、とてもよくないことになるかもしれませんよね!! なので練習用のサーバを書きましたよ東條さん…

美人ゴルフ

typedef char c;typedef int i;i sprintf(c*,c*,...);i socket();i close(i);i connect(i,i*,i);i read(i,c*,i);i write(i,c*,i);i***gethostbyname(c*);c*strstr(c*,c*);c*malloc(i);i open(c*,...);i main(){c*h="www.bijint.com",*t,*z;i b[]={0x50000002…

gVimを自分のアプリに埋め込む

追記: ソースコードを少し修正。あと、このやりかただと複数起動ができないので何か方法を考える必要がありそう。 追記2: 実行前にgvimをOLEオートメーションサーバとして登録する必要あり。gvim.exe -register。詳しくは help if_ole を。gVimにはCOMインタ…

「&lt;% %&gt;」をCで使う

C C99

C99のCommittee Draft(N1124)を読んでいて、また目から鱗。以下のスクリプトがコンパイルできるという話。 #include <stdio.h> main() { <% puts("Hello world!"); %> } なんと、JSPスクリプトが記述できる…のではなく、これは次の仕様によるものでした。P64、PDF 上</stdio.h>…

「!strcmp」

リンク元をみたら「!strcmp」というクエリでここにたどり着いた方がいました。残念ながらその方の期待には応えられなかったのですが、「!strcmp」については一言言っておこうかなと。strcmp() は 3 つの状態を表す結果を返すので、プレディケイトではないの…

C配列参照演算子の興味深い仕様

open-std.org のC99 Rationaleを読んでいて、興味深い一節を発見。 6.5.2 Postfix operators 6.5.2.1 Array subscripting The C89 Committee found no reason to disallow the symmetry that permits a[i] to be written as i[a]. The syntax and semantics …