问题
I want to call the following C function:int ssh_userauth_password (ssh_session session, const char * username, const char * password)
But regular Smalltalk strings are not working:library ssh_login: session userAuth: nil password: 'myPwd'.
session is a pointer that i already have and works ok.
But const char * are not mapped to normal string.
Is there any class to map this ?
Also i tried with CPointer and asByteArray but both fail.
回答1:
You need to pass a CPointer object. Easiest way to do that is via 'yay' gcCopyCStringToHeap. Alternatively there‘re variations like gcCopyUnicodeStringToHeap.
来源:https://stackoverflow.com/questions/62800888/which-smalltalk-object-should-be-passed-to-a-c-function-expecting-const-char