Найти - Пользователи
Полная версия: Segmentation fault при вызове PyString_AsString
Начало » Python для экспертов » Segmentation fault при вызове PyString_AsString
1
khalikov
Вот такой код на С++
//quicktest.cpp
extern "C" 
{
    int test1(PyObject *src)
	{
		char *src1 = PyString_AsString(src);
		return 0;
	}
}
Python
import ctypes
test_lib = ctypes.CDLL('./quicktest.so');
test_lib.test1("test");
вызывается segmentation fault, gdb говорит, что в функции PyString_AsString() (ну в принципе больше и негде)
Что я делаю не так?

P.S. python = 2.7, linux 64 bit
khalikov
Задал вопрос на SO, получил ответ: ошибка в объявлении (PyObject *). Должно быть char *, поскольку для целых чисел, строк и bytes питон сам переводит объект в нужный.
doza_and
khalikov
питон сам переводит
Правильно сказали. Только не питон а модуль ctypes
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB