DLL に変換した C コードがいくつかあります。C# プログラムから DLL を呼び出す必要があります。「保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。」というエラーが表示されます。
したがって、関数プロトタイプを正しく変換していないため、メモリリークが発生していると思います。
C の関数プロトタイプは
int __stdcall karacell_bridge( int argumentCount, char **argContent)
これは、C# DLL 呼び出しでの関数プロトタイプの正しい変換ですか?
[DllImport("KaracellLib.dll", EntryPoint = "karacell_bridge@8", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi, ExactSpelling = true)]
public static extern int karacell_bridge(int argumentCount, [In, Out]string[] argContent);