C# から文字列を返す C の関数を呼ぶ 概要 この記事は、 C# のアセンブリから C/C++ で作ったネイティブな C 型 DLL の関数を呼び出す方法についての覚え書きです。 ただし、その関数は「呼び出し側に文字列を返す」ものである場合の話です。 普通に P/Invoke (プラットフォーム呼び出し)しようとしたら、 ちょっとだけ「はまって」しまったので覚え書きしました。 なお「C 型 DLL」という言葉を勝手に発明しましたが、 要するに、 引数の型などを C 言語と互換性をとれる関数を公開した DLL を指しています。 つまり C 言語から自然に使える DLL という事です。 そのため、C と関数を公開する DLL を作れさえすれば言語は B でも D でも構いません(B 言語は冗談ですが(笑))。 具体例 具体例の概要 具体例に登場するプログラムは二つです。 一つは「文字列を返す