Я, по общему признанию, борюсь с C и C++, но я пытаюсь обернуть функцию C++ (extern to 'C') в FFI, но не совсем понимаю синтаксис.Обтекание функции C с FFI для Ruby
Форма externed кода C является:
Client *create_client(Address *address, const char * const foo){
//make stuff
}
Мой вопрос, в частности, в том, как обернуть, что в Ruby, используя FFI? Я думаю конструктор принимает два указателя, так что это будет иметь вид:
attach_function :create_client, [:pointer, :pointer], :pointer
Но, с другой стороны, Const символ * Const Foo меня смущает - она должна быть обработана в виде строки, как так:
attach_function :create_client, [:pointer, :string], :pointer
Thanks.
1) Итак, «важная» часть для упаковки - все, что находится слева от звездочки? 2) Если есть двойные звездочки, то считается ли это указателем? – Ramrod
Для упаковки важной части находится слева. И для вашего второго вопроса его еще указатель (его указатель указывает на указатель). – x64architecture
Как только я получу все завернутое, я точно знаю, если это правильно - спасибо за вашу помощь! Теперь для меня разобраться, когда * является указателем или указывает на что-то еще (например, на строку)! – Ramrod