日本語プログラミング言語なでしこの公式掲示板

なでしこ の 掲示板

トップ 新規 検索

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のみ実装したことがあります)


(編集パスワード送信)

子記事

親記事 (No.751)
返信した記事(元) (No.751)

この内容(No.753)に返信

この内容(No.753)をダウンロード

この内容(No.753)のテキスト表示





www.eznavi.net