Как объяснялось ранее, использование PyRun_SimpleString кажется плохой идеей.
Вам определенно следует использовать методы, предоставляемые C-API (http://docs.python.org/c-api/).
Чтение введения - первоечто нужно сделать, чтобы понять, как он работает.
Во-первых, вы должны узнать о PyObject, который является базовым объектом для API C. Он может представлять любые базовые типы Python (string, float, int,...).
Существует множество функций для преобразования, например, строки Python в char * или PyFloat в удвоение.
Сначала импортируйте ваш модуль:
PyObject* myModuleString = PyString_FromString((char*)"mytest");
PyObject* myModule = PyImport_Import(myModuleString);
Затемполучить ссылку на вашу функцию:
PyObject* myFunction = PyObject_GetAttrString(myModule,(char*)"myabs");
PyObject* args = PyTuple_Pack(1,PyFloat_FromDouble(2.0));
Затем получить ваш результат:
PyObject* myResult = PyObject_CallObject(myFunction, args)
И вернуться к двойному:
double result = PyFloat_AsDouble(myResult);
Вы, очевидно, должны проверитьошибки (см. ссылку, предоставленную Марком Толоненом).
Если у вас есть какие-либо вопросы, не стесняйтесь. Удачи.