2

で書かれたDLLファイルがありますC。マネージド コードで使用しようとしましたが、機能が正しく動作していません。これがCコードです。

int preProcessImagesC (char *p_trainingFilePath,
                       char **p_vecImageFilesOrDirs);  

この機能は正常に動作しています。

マネージド コード:

unsafe private static extern int preProcessImagesC(
    //Works perfact 
    String p_trainingFilePath,
    //char** thise parameter is taking junk values , String Array is not working
    [MarshalAs(UnmanagedType.SafeArray)] ref String[] p_vecImageFilesOrDirs);

最初のパラメーターのみが正しく機能しています。char **p_vecImageFilesOrDirs マネージ コードのパラメーターには何を使用すればよいですか 。で互換性のあるコードを書くのを手伝ってくださいC#

4

2 に答える 2

-2

文字列はすでに文字の配列です。
したがって、あなたはうまくいくはずです

参照文字列 p_vecImageFilesOrDirs

現在、文字の配列の配列への参照をコピーしています。

于 2013-04-10T08:14:09.797 に答える