Программы на Python
-
Anonymous
Как получить доступ к строке из кода C с помощью ctypes
Сообщение
Anonymous »
У меня есть простой файл C:
Код: Выделить всё
char *initializetest()
{
char *test = malloc(1000);
return test;
}
int searchtest(char *test)
{
strcpy(test, "test");
return 0;
}
main()
{
char *test = initializetest();
searchtest(test);
printf("%s\n", test);
}
и файл Python:
Код: Выделить всё
from ctypes import *
class Test(object):
def __init__(self):
self.test_library=CDLL("test.so")
self.test_initialize = self.test_library.initializetest
self.test_search = self.test_library.searchtest
self.test_search.restype=c_int
self.m = self.test_initialize()
def search(self):
self.test_search(self.m)
print self.m
r = Test()
print r.search()
Как получить «тестовую» строку в Python?
Подробнее здесь:
https://stackoverflow.com/questions/844 ... ith-ctypes
1763287736
Anonymous
У меня есть простой файл C:
[code]char *initializetest()
{
char *test = malloc(1000);
return test;
}
int searchtest(char *test)
{
strcpy(test, "test");
return 0;
}
main()
{
char *test = initializetest();
searchtest(test);
printf("%s\n", test);
}
[/code]
и файл Python:
[code]from ctypes import *
class Test(object):
def __init__(self):
self.test_library=CDLL("test.so")
self.test_initialize = self.test_library.initializetest
self.test_search = self.test_library.searchtest
self.test_search.restype=c_int
self.m = self.test_initialize()
def search(self):
self.test_search(self.m)
print self.m
r = Test()
print r.search()
[/code]
Как получить «тестовую» строку в Python?
Подробнее здесь: [url]https://stackoverflow.com/questions/8447308/how-to-access-a-string-from-c-code-with-ctypes[/url]