В части "Преобразование проекта С++ в расширение для Python":
Не могу собрать проект, тк ошибки: LNK2001 у __imp__PyFloat_FromDouble, __imp__PyFloat_AsDouble, __imp__PyModule_Create2. И в итоге ошибка LNK1120.
Помогите разобраться с ошибкой!
Вот код:
#include <Python.h>
#include <Windows.h>
#include <cmath>
const double e = 2.7182818284590452353602874713527;
double sinh_impl(double x) {
return (1 - pow(e, (-2 * x))) / (2 * pow(e, -x));
}
double cosh_impl(double x) {
return (1 + pow(e, (-2 * x))) / (2 * pow(e, -x));
}
//double tanh_impl(double x) {
// return sinh_impl(x) / cosh_impl(x);
//}
PyObject* tanh_impl(PyObject *, PyObject* o) {
double x = PyFloat_AsDouble(o);
double tanh_x = sinh_impl(x) / cosh_impl(x);
return PyFloat_FromDouble(tanh_x);
}
static PyMethodDef superfastcode_methods[] = {
// The first property is the name exposed to python, the second is the C++ function name
{ "fast_tanh", (PyCFunction)tanh_impl, METH_O, nullptr },
// Terminate the array with an object containing nulls.
{ nullptr, nullptr, 0, nullptr }
};
static PyModuleDef TanhBenchmark_module = {
PyModuleDef_HEAD_INIT,
"TanhBenchmark", // Module name
"Provides some functions, but faster", // Module description
0,
superfastcode_methods // Structure that defines the methods
};
PyMODINIT_FUNC PyInit_TanhBenchmark() {
return PyModule_Create(&TanhBenchmark_module);
}
Вот скрин ошибок:
Примечание:
В части "Создания основного проекта С++" в пункте 7 предположительно две ошибки:
1. Забыли указать тип принимаемого аргумента "х". Я написал double x.
2. При исправлении этой ошибки возникает другая: С2169 у tanh. Возможное решение: переименовать tanh в tanh_impl. Ну и так же вместо sinh и cosh напишем sinh_impl и cosh_impl.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
ЗдравствуйтеПостепенно перепечатываю пример программы на ПК из http://we
Создать функцию, которая будет иметь два целочисленных параметра a и b, и в качестве своего значения возвращать случайное целое число из отрезка...
Добрый вечер,разрабатываю GUI для своей проги остановился на QT4, но хотел так же узнать существует ли плагин для сборки GUI на eclipse С++ наподобие...
Есть задача - надо реализовать проверку ввода в поле улицы с подстановкой улицы и возможностью дописать дом /квартируПример, клиент вводит...