私はいくつかの複雑なことをしている配列を返す、私は書いていないいくつかのCコードを持っています。私はxamarin.macの動的ライブラリでこのコードを使用して、この配列をC#コードのextern関数から取得しようとしましたが、成功しませんでした。私は可能な限りC#でポインタを使用しないようにすべきだと他の場所で読んだことがありますが、他にどのようにできるかは分かりません。外部関数(xamarin.mac)から配列を返すためにC#でポインタを使用する
私のC#のコードはかなり長いですが、私は、配列にアクセスしようとするDLLから関数をインポートし、
private IntPtr number;
partial void go(NSObject sender)
{
golabel.StringValue = "Doing the thing. . .";
number = counter(2);
golabel.StringValue = string.Format("Thing returned {0}", number);
}
する
[DllImport("librp_origin.dylib")]
static extern IntPtr counter(int number);
を使用しています。
上記のcは、整数を取り、その整数の20×20の配列をべき乗xに出力し、その都度xが増加する単純なプログラム例です。私は、ラベルへのポインタ全体を印刷するのはナンセンスだと知っていますが、これは私が持っているソリューションに近いものです。何か助けがあれば何でもすばらしいでしょう!
あなたの問題は何ですか? 'IntPtr'を配列に戻しますか? – dylansturg
ええ、私はそれが問題だったと思う、それはGoogleからの助けのビットで修正するために管理され、無意味な質問と申し訳ありませんとにかく – user2769075