www.py4u.net
www.py4u.net favicon https://www.py4u.net/discuss/175142

ものによるのだけど、 d3d11.h をパースしたりすると 要素が数万とかになる巨大なツリーを構築するので練習に良い。 同じものを作りすぎである。

imgui.h

限定的にだが c++ の機能を使っているので、言語によっては気持ちよくラップできない。

  • 関数オーバーロードとデフォルト引き数
    • mangling は libclang で対処できる
    • rust などオーバーロードが無いものは厳しい。
    • あってもディスパッチするコードを生成するのが厳しい。
    • const ImVec2 &pos = ImVec2(0, 0) みたいなのが厳しい。
  • フォント設定とかのメンバー関数
    • C の呼び出し関数を用意する必要があるかもしれない。

d3d11.h

COM の仮想関数テーブルを工夫すれば行ける。 GC言語だとデストラクターの呼びだしが制御できないかも。

cython

最近、 C のライブラリーを cython でラップするのに着目している。

練習に作ってみた。

予定

cindexcython 部分の自動生成をやってみる。 更に、 .pyi を同時に生成すればコード補完の効くネイティブモジュールが作れるのでは。 あと、 cindex の使いかたについてのメモをまとめたい。

imgui

サブモジュールだけ cython にする