Как я могу передать директиву препроцессора из ctypes?

У меня есть некоторый код C, который обернут в директиву препроцессора:

#if defined(TEST)
// do stuff
#endif

и мне нужно выполнить do stuff из Python через ctypes - есть ли способ определить TEST?

1 ответ

Решение

Это не имеет ничего общего с ctypes или питон. ctypes работает только с уже скомпилированными библиотеками и позволяет вам вызывать в них функции. Если вы хотите выполнить функцию, которая определена только условно, вам придется скомпилировать библиотеку с установленными правильными директивами.

В GCC это было бы что-то вроде gcc -D TEST <rest as usual>

Другие вопросы по тегам