__attribute__((packed,aligned(1)))
で定義されているC構造体をSWIGにラップするにはどうすればよいですか?__attribute __((packed、aligned(1))))で定義されたC構造体をラップする方法はありますか?
0
A
答えて
0
あなたは離れて、単に#define
、この作品を作るためにほとんど何もしないように属性を必要とする:意図したとおりに
%module test
#define __attribute__(x)
struct foo {} __attribute__((packed,aligned(1)));
は、解析して動作します。
この理由は、SWIGがオブジェクトのレイアウトやサイズを気にするコードを生成しないためです。また、それについても何らかの前提を作るコードを生成しません。代わりに、すべてのアクセス/ malloc/newはコンパイラによって処理され、生成されたコードを通常通りコンパイルします。
したがって、モジュールをコンパイルするコンパイラに見られる構造体の定義が正しいことを確認する限り、問題は発生しません。
+0
これは多くの助けになりました。ありがとうございました。 –
関連する問題
- 1. __attribute __((packed))は、1つの要素しかない構造体にあります
- 2. COM相互運用構造定義は、COMヘッダ(vds.h)で定義された構造体があり、メモリレイアウト
- 3. 関数スコープで定義された構造体を宣言する方法は?
- 4. RubyにC構造体をラップする
- 5. Cの構造体定義
- 6. ソースファイルまたは構造体自体に構造体関数を定義する方法
- 7. 空の構造体はC++標準で定義されていますか?
- 8. __attribute __((packed))がISO C/C++になるのを防ぐには?
- 9. ここで、__attribute__((aligned))をtypedef:ed構造体に置きます。
- 10. ネストされた構造体をネストされたループを持たない別の構造体にシェイプする方法はありますか?
- 11. gpuメモリに渡された構造体は未定義です。構造体をCudafyに渡すには?
- 12. cでリンクされたリスト、構造体の構造体、セグメンテーションフォールト
- 13. C#で自分のLINQ構造体を定義するには?
- 14. Cの構造体定義内で構造体ポインタを使用するのはなぜですか?
- 15. 構造体型をC関数に渡す方法はありますか
- 16. Cの構造体定義の中にネストされたポインタがあるのはなぜですか?
- 17. グローバル構造体を定義するグローバル構造体
- 18. 構造体とスライスフィールドをゼロ値構造体で比較する方法はありますか?
- 19. net_deviceの構造体priv_structを定義する方法は?
- 20. 構造体にNSDateComponentsがラップされていますか?
- 21. スタック変数はGCCの__attribute __((aligned(x)))で整列されていますか?
- 22. ユーザー定義の構造体をC++のバリアントに変換する方法は?
- 23. 最適なC構造体定義
- 24. Cの構造体定義のバリエーション
- 25. あらかじめ定義された構造体を持たないExcelインポート
- 26. キーワード(例:print)という名前の構造体をラップする方法はありますか?
- 27. C++でネストされた構造体を初期化する方法は?
- 28. ポインタとして設定された構造体の構造体メンバにアクセスする方法はありますか?
- 29. C構造体ポインタ - 構造体ポインタをモジュールから戻す方法は?
- 30. ヘッダーファイルで実装されている構造体に__attribute __((visibility( "default")))が必要ですか? (C++)
ラップはどういう意味ですか?あなたは「整列していない安全な方法で開梱する」という意味ですか? memcpy – hanshenrik
swigを使ってその構造体をラップしたいと思います。 –
しかしswigは何らかのエラーを表示します(入力(3)の構文エラー) –