Tag: c ++

Ctypes – получение C backtrace из кода python, который использует ctypes

Я пытаюсь отлаживать код, где python вызывает функцию C с использованием ctypes. Строка в интересующем меня кодеке python выглядит примерно так: returnValue = cfunction() где cfunction – функция C. Я хочу знать, где в коде cfunction возвращается функция cfunction. Как я могу это сделать? Похоже, я могу использовать gdb с python, но я не уверен, […]

Снижение производительности программы C после нескольких запусков

Чтобы правильно протестировать часть программного обеспечения (написанное на C), над которым я работаю, мне нужно выполнить большой объем тестов. Я делал это с помощью скрипта python, который выполняет мое программное обеспечение определенное количество раз (обычно в диапазоне 1000 – 10000 повторений) один за другим. Я работаю над дебианской виртуальной машиной (500mb ram). Я заметил, что […]

Python не может импортировать (cython) общую библиотеку

в последние несколько дней мне удалось собрать rnnlib в качестве общей библиотеки. Это библиотека c ++. Я хочу назвать это из python. Мой выбор упал на cython. поэтому я создал aa c ++ функцию void libCall(int argc, char* argv[]) которая на самом деле такая же, как и основная функция rnnlib, но переименована, чтобы сделать ее […]

генерация временных переменных в печатной карте Swig

Я считаю, что Swig не удалось создать некоторые временные переменные, определенные в typemap. Вот проблема: я определил типовую карту следующим образом. %define %bound_buffer_input(TYPEMAP, SIZE) %typemap(in) (TYPEMAP, SIZE) (int res, Py_ssize_t size = 0, const void *buf = 0) { res = PyObject_AsReadBuffer($input, &buf, &size); if (res<0) { PyErr_Clear(); %argument_fail(res, "(TYPEMAP, SIZE)", $symname, $argnum); } $1 […]

Проверка времени выполнения для корпуса коммутатора

Я рассматриваю спецификацию bencode, и я пишу порт C ++ для реализации bencode клиента потокового битового потока (написанный на python). Реализация Python включает в себя словарь {data_types: callback_functions}, с помощью которого оболочка функции легко выбирает, какую функцию кодирования использовать при поиске по словарю типа данных переменной, предоставленной в функцию обертки. Я выполнил поиск идентифицирующих типов […]

Функции друга в C ++ Python Boost

Я хочу выставить функции друзей C ++ для python, используя Python boost. class Turtle{ friend const PV& GetHeading(const Turtle& t); friend const PV& GetLeft(const Turtle& t); friend const P& GetPoint(const Turtle& t); friend void SetPoint(Turtle& t, const P& p); public: … private: PV h; PV l; }; Здесь я завернул классы PV и P, поэтому […]

отладка python в emacs с функциональностью типа gud-gdb

Можно ли настроить среду отладки python в emacs, чтобы имитировать предоставленную gud-gdb при отладке C? например, возможность установить pdb.set_trace() останова с помощью pdb.set_trace() и иметь аннотацию стрелки в соответствующем файле исходного кода, выделяющую ваш прогресс при pdb.set_trace() и выполнении инструкций и функций Я действительно теряю эту функциональность при попытке отладки кода python после отладки C, […]

Использовать ctypes с typedef

Я хотел бы назвать функцию C void initialize(My_Session* session, My_Status* status); из Python с использованием ctypes. Типы данных определяются typedef uint32_t My_Session; typedef int32_t My_Status; Теперь я хотел бы знать, как передать аргументы с помощью ctypes. Я использую c_uint32 и c_int32 , или мне нужно определить класс, как это делается для структур?

Вызов кода python из мастер-цикла uWSGI

Я написал простой плагин для uWSGI. #include <uwsgi.h> static void cycle() { uwsgi_log("In master cycle\n"); } struct uwsgi_plugin master_plugin = { .name = "master", .master_cycle = cycle, }; Теперь я хочу вызвать некоторый код python в потоке основного цикла в том же интерпретаторе Python, где мое WSGI-приложение инициализировано. Для этого есть uWSGI API? Могу ли […]

Cprofile (Python) в C ++?

При написании кода В Python я обычно использую Cprofile, который выводит результаты профиля в консоли: import cProfile, pstats, StringIO pr = cProfile.Profile() pr.enable() #do stuff pr.disable() s = StringIO.StringIO() ps = pstats.Stats(pr, stream=s).sort_stats('cumulative') ps.print_stats() print s.getvalue() Есть ли альтернативы в C ++? Изменить. Я использую VS 2008 Express, Windows 64 бит.

Python - лучший язык программирования в мире.