2019-09-30 21:19:59
Re①:整数配列がわからない
基本的に、必要なメモリ容量を計算して、文字列変数にその長さを確保して呼び出し、 返ってきた結果から、メモリに格納されている構造に従い取り出す とうことに なります。 今回の場合でいえば、intは4bytesとなるので、(4*数)バイトを文字列に確保しておき、 呼び出した後、結果がエラー出なければ、文字列として確保していた中から、 バイナリ取得を用いて、個々のハンドル(整数)を取り出します。 ※バイナリ取得やバイナリ設定で指定するオフセットの先頭が1なので注意。 -----(3この場合。配列ではなくとりあえず別々の変数に入れてます) Rとは文字列 Rに(3*4)を確保 ((ここで関数を呼び出す)) H1はRの1を`int`でバイナリ取得 H2はRの5を`int`でバイナリ取得 H3はRの9を`int`でバイナリ取得 ----- なでしこで外部のC関数を呼び出す場合、構造体の場合ならばグループの定義を使って マッピングする方法もありますが、基本的には、メモリイメージを把握しながら 開発することになります。 そのため、必要なAPIの部分をなでしこの関数で置き換えたライブラリを作りながら 作るとよいかと思います (以前、その形でごく一部のAPIのみ実装したことがあります) |