2008-11-25 1 views
2

У меня будет пара функций python, с которыми я должен взаимодействовать из кода сборки. Решение не обязательно должно быть полным решением, потому что я не буду слишком долго взаимодействовать с кодом python. Во всяком случае, я немного пожевал его:Как вызвать функцию python2.5 из x86asm/x64asm?

  • Что представляет собой объект python в памяти?
  • Как я могу назвать функцию python?
  • Как передать объекты python в виде объектов python для интерфейса ctypes?
  • Может ли интерфейс ctypes упростить мою работу любым альтернативным способом?

ответ

2

Вы хотите прочитать и понять Extending and Embedding the Python Interpreter и Python/C API Reference Manual. Это описывает, как взаимодействовать с Python с C. Все, что вы можете сделать в C, можно аналогичным образом сделать и в ассемблере, но вы сами по себе для этого, поскольку это напрямую не описывается с точки зрения Python.

1

Это, безусловно, выполнимо, но вы бы гораздо легче, читая API документации C и написание сват функции в С.

Задумайтесь об этом, C настоятельно рекомендуется, так как это может трудно определить, какая из подпрограмм, которые вы вызываете, может быть реализована как макросы препроцессора.