タグ

swigに関するyamazのブックマーク (5)

  • Ruby Programing with SWIG

    はじめに Rubyと同じく、C++もクラスをもっています。 SwigをつかえばC++のクラスをそのままRubyのクラスにすることができます。 SwigのドキュメントにC++の章がありますので、 まずはそちら "5 SWIGとC++" を読みましょう。 C++で書かれたあるソフトをswigを利用してラップする場合、 インストールされるヘッダーファイルがたいへん役に立ちます。 運が良ければそのヘッダーファイルがそのまま使えますが、 多くの場合多少変更が必要となります。 ここでは、 C++で書かれたソフトをラップする際に必要ないくつかの変更の解説を行います。 まずはヘッダーファイルをそのまま使ってみよう とりあえずヘッダーファイルをそのまま使ってみましょう。 そのままで問題なくコンパイルでき、かつ使えたあなたは幸運です。 だめな場合でもエラーメッセージがとても重要な情報となります。 以下のように

  • SWIGの基礎

    4 SWIGの基礎 SWIGの実行 入力フォーマット SWIGアウトプット コメント Cプリプロセッサ SWIGディレクティブ パーザの限界 シンプルなC宣言のラッピング 基的な型の扱い グローバル変数 定数 短いconstとしての文字列 char *の警告の話 ポインタと複雑なオブジェクト 単純なポインタ 実行時のポインタ型チェック 構造体、クラスの与えられた型 未定義のデータ型 typedef 他の実用性 構造体の値渡し 値による返値 構造体変数のリンク char*型のリンク 配列 読み込み専用変数の生成 宣言の名前変更/無視 デフォルト、オプション引数 関数へのポインタとコールバック 構造体と共用体 typedefと構造体 文字列型と構造体 メンバー配列 構造体データメンバー Cのコンストラクタとデストラクタ 構造体へのメンバー関数の追加 構造体のネスト 構造体をラッピングする際の

    yamaz
    yamaz 2007/01/22
    あわせて読みたい
  • SWIGとC++

    yamaz
    yamaz 2007/01/21
    誰か復活させてくれないかなぁ。。
  • Wayback Machine

  • きまぐれ日記: もっと SWIG を!

    はてなでは XS を使い始めて処理速度が改善されつつあるようです。 スクリプト言語へのバインディングは、もはやミドルウェアには必須の機能だと思います。 しかし、最近気になっているのは、少なくとも日では XS 直書きのようなスクリプト言語固有の機能を直接使ってバインディングを作成している開発者が圧倒的に多いということです。 正直なところSWIG をもっと使ってほしいです。 私が気に入っている点は以下です。 1. SWIG はスクリプト言語固有のバインディング作成バッドノウハウを エレガントにラップしてくれます。たとえば、例外処理などがいい例ですが、 SWIG のインタフェイス上で例外処理を書いておけば、 各言語の例外処理のシンタックスに適切に変換してくれます。 2. バンディングレベルで OOP の機能が無く、プリミティブな関数呼び出ししかできない スクリプト言語(perl,python,

  • 1