Go에서 CGO 패키지는 Go와 C 코드 간의 통신을 용이하게 합니다. 일반적인 시나리오 중 하나는 Go 문자열을 C 문자 포인터로 복사하는 것입니다.
이를 달성하려면 C.CString 함수를 활용해야 합니다. 이 함수는 C 문자열에 대한 메모리를 할당하고 이에 대한 포인터를 반환합니다. 구문은 다음과 같습니다.
cstr = C.CString(str)
여기서 str은 Go 문자열이고 cstr은 C 문자 포인터입니다.
그러나 C.CString이 할당하는 메모리는 다음과 같아야 한다는 점에 유의하는 것이 중요합니다. 수동으로 해제됩니다. 이렇게 하려면 다음 명령을 사용할 수 있습니다.
C.free(unsafe.Pointer(cstr))
여기서 cstr은 이전에 생성된 C 문자 포인터입니다.
위 내용은 CGO를 사용하여 Go 문자열을 C char 포인터에 어떻게 복사합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!