应将哪个 Smalltalk 对象传递给需要 const char* 的 C 函数
Which Smalltalk object should be passed to a C function expecting const char*
我想调用以下 C 函数:
int ssh_userauth_password (ssh_session session, const char * username, const char * password)
但是常规的 Smalltalk 字符串不起作用:
library ssh_login: session userAuth: nil password: 'myPwd'.
session
是我已经拥有并且工作正常的指针。
但是 const char *
没有映射到普通字符串。
有没有 class 来映射这个?
我也尝试使用 CPointer 和 asByteArray 但都失败了。
您需要传递一个 CPointer 对象。最简单的方法是通过 'yay' gcCopyCStringToHeap
。或者有像 gcCopyUnicodeStringToHeap
.
这样的变体
我想调用以下 C 函数:
int ssh_userauth_password (ssh_session session, const char * username, const char * password)
但是常规的 Smalltalk 字符串不起作用:
library ssh_login: session userAuth: nil password: 'myPwd'.
session
是我已经拥有并且工作正常的指针。
但是 const char *
没有映射到普通字符串。
有没有 class 来映射这个?
我也尝试使用 CPointer 和 asByteArray 但都失败了。
您需要传递一个 CPointer 对象。最简单的方法是通过 'yay' gcCopyCStringToHeap
。或者有像 gcCopyUnicodeStringToHeap
.