limitusus’s diary

主に技術のことを書きます

C

Perlからshared objectの関数を呼び出す

今回のお題 foo.so に含まれている関数 void func(void) をPerlから呼び出す。 プロトタイプ宣言の通り、引数は取らないし戻り値もない(あるいは見ない)。 やりかたはいくつかあって、 普通ならXSモジュールを書いて対応する。 ただこのシンプルな目的のた…

Embarrassingly Parallel なプログラムを pthread で並列化してみた

C

やったこと 後輩の授業で Embarrassingly Parallel なプログラムを並列化するという課題が出ていたので、ちょっとやってみました。実際に使ったコードはgithubで公開中です。公開は課題の締切後に行いました。 課題1 1次元関数の数値積分の区間分割による並…

fork(2)とexecve(2)を使ってみた

OSの授業で扱っていたfork(2)とexecve(2)ですが,実際に使ってみたことがなかったので実際に試しに使ってみました. 別に特別なことをしたかったわけではないので,とりあえずシェルと同じように動いてくれればいいかなーという設計になっています.暇な時間に大…

hcreate_rなどを使ってみた

現在作成中のプログラムでハッシュ表を使いたいなーと思っていたらPOSIX, GNU拡張に存在するらしい、ということで調べてみました。もちろん基本はman hcreateを読むことですね。 今回は複数のハッシュ表を使う必要があるので、GNU拡張のhcreate_rなどのreent…