タグ

ブックマーク / field-notes.hatenablog.jp (4)

  • MacVimをコマンドラインから起動する方法 - FIELD NOTES: 書を持って街へ出よう

    MacVimにはmvimコマンドが付属していて,ターミナルからMacVimを起動する事ができます。 香り屋版でもそのまま使えたので,便利に使っていました。 Lionになってから,MacVimが起動していない状態でmvimを実行すると,以下のようなエラーが出力されるようになりました。 $ 2012-08-08 09:06:18.768 MacVim[2088:407] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/0h/_jh2qmy52b96v_f87h_y1jhr0000gn/T/org.vim.MacVim.savedState 特に実害はなかったのですが,回避策としてopenコマンドを使うことにしました。 $ open

    MacVimをコマンドラインから起動する方法 - FIELD NOTES: 書を持って街へ出よう
  • C言語でOCamlデータを生成する方法のまとめ - FIELD NOTES: 書を持って街へ出よう

    ユーザーズマニュアルの“Interfacing C with Objective Caml”に必要なことは全部書いてあるのですが,理解するのにちょっと苦労したので,自分なりの理解をまとめておきます。 プログラミングする際に最低限必要な概念をまとめただけなので,詳細は端折っています。 正確な知識を得るためにはやはりユーザーズマニュアルも参照してください。 (c) みっちー|写真素材 PIXTA 基礎知識 すべてのOCamlデータは,Cのvalue型として表されます。 value型データはunboxかboxに分けられ,boxはさらにblockかobjectに分けられます。 unboxデータ boxデータ block: OCamlが管理するヒープ内に確保されたデータ object: ヒープ外で確保されたデータ value型は,32ビットまたは64ビットの整数として定義されています。 unboxデ

  • OCamlでPython/Ruby拡張モジュールを作るときの注意点 - FIELD NOTES: 書を持って街へ出よう

    Field Reports の拡張モジュールを作成する際に,メモリ管理やエラー処理といった通常サンプルプログラム等で説明されていような所で色々苦労しました。 注意点を記録しておきます。 メモリ管理 OCamlのGCと折り合いを付けるには,以下3点のルールを必ず守る必要があります。 関数の先頭に CAMLparamN() を置く。 関数内で allocate したデータを格納する変数は,CAMLlocalN() で宣言する。 return文は使わずに,CAMLreturn() マクロを使用する。 CAMLparamN() マクロ value型の引数がない場合は ,CAMLparam0() を使います。 value型の引数を受け取った場合は,CAMLparamN() の引数に含めます。 CAMLlocalN() マクロ 関数内で alloc したデータを一時的に変数に保持する必要がある場合は,

    OCamlでPython/Ruby拡張モジュールを作るときの注意点 - FIELD NOTES: 書を持って街へ出よう
  • OCamlでPython拡張モジュールを作る - FIELD NOTES: 書を持って街へ出よう

    OCamlで作成したライブラリをPythonから利用できるように,拡張モジュール化した。その際に,いくつか苦労したので記録に残しておく。 なお開発環境は,Mac OS X 10.6.4 (Snow Leopard), Ocaml 3.12.0, Python 2.6.5 である。 一般的な作り方 mBの通り作業すれば,サンプルのような単純なOCaml関数をPythonから呼び出すことができるようになる。 しかし,実用的なプログラムでは外部のライブラリを必ず利用することになるので,どこかで拡張モジュールにライブラリをリンクしなければならない。 OCamlコードコンパイル時の注意 C言語形式のオブジェクトファイルを出力するには,-output-objオプションをつけてOCamlコードをコンパイルすれば良い。しかし,既存のfoo.cmxaライブラリが存在するとして,すべて-output-objオ

    OCamlでPython拡張モジュールを作る - FIELD NOTES: 書を持って街へ出よう
  • 1