CGO 経由で Go 文字列を C char * ポインターにコピーする
CGO 経由で Go 文字列を C char * ポインターにコピーするには、正しい構文を遵守し、適切なメモリ管理に従うことが重要です。
最初のアプローチとは異なり、適切な方法では、C.CString 関数を使用して Go 文字列を C 文字列に変換します。この関数は、C 文字列を保存するためにメモリを割り当てます。
cstr = C.CString(str)
C.CString はメモリを割り当てますが、メモリを解放する責任は負わないことに注意することが重要です。したがって、
C.free(unsafe.Pointer(cstr))
への呼び出しを使用してこのメモリを明示的に解放するのはあなたの義務です。これらのガイドラインに従うことで、Go 文字列を C char * ポインタに安全かつ効果的にコピーでき、これらの言語間のシームレスな相互運用性が可能になります。 CGO アプリケーションで。
以上がCGO を使用して Go 文字列を C char * ポインターに安全にコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。