Tag: c ++

Распространение исключения c ++ для исключения cython – python

У меня проблема с Cython 0.17.1 Моя функция бросает std::runtime_error если файл не существует, я хотел бы каким-то образом распространить это исключение на мой код Cython. void loadFile(const string &filename) { // some code, if filename doesn't exists throw std::runtime_error( std::string("File doesn't exists" ) ); } и от Cython после правильной упаковки функции: try: loadFile(myfilename) […]

C и Python – связь с сокетами

Я пытаюсь использовать сокеты домена UNIX для связи между C-программой и скриптом Python. Сценарий Python отправляет данные через сокеты домена UNIX в программу C. Вот соответствующий код из моей программы на C: #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/un.h> #include <sys/types.h> #include <sys/socket.h> #define UNIX_PATH_MAX 100 int main(void) { struct sockaddr_un address; int socket_fd, […]

Конвертер C # в Python

У меня есть большая библиотека C #, которую мне нужно преобразовать в Python. Python – это требование клиента, я не могу использовать какой-либо другой язык. Любой автоматический конвертер C # в Python? Изменить: мне нужно чистое решение Python. .Net не вариант для меня.

У кого-нибудь есть gdb довольно-принтерный код для fd_set на linux?

Современные версии gdb позволяют интегрировать код python в «красивую печать» сложных структур данных. Есть несколько прекрасных реализаций принтеров для STL-классов C ++, а также некоторые из наиболее распространенных типов boost.org . При сетевом программировании обычно встречаются вызовы select / poll . В то время как poll() использует массив структур данных, select() использует fd_set . Кто-нибудь […]

Как исходный код Python «free_list = (PyIntObject *) Py_TYPE (v);» переместить указатель free_list на следующий объект?

В исходном коде python метод создания объекта int PyInt_FromLong , python создает новый PyIntObject в позиции первого элемента free_list, указывающего на. Вот код: PyObject * PyInt_FromLong(long ival) { register PyIntObject *v; #if NSMALLNEGINTS + NSMALLPOSINTS > 0 if (-NSMALLNEGINTS <= ival && ival < NSMALLPOSINTS) { v = small_ints[ival + NSMALLNEGINTS]; Py_INCREF(v); return (PyObject *) […]

Самый эффективный способ построения 1-мерного массива / списка / вектора неизвестной длины с использованием Cython? Или это никогда не будет сделано?

У меня есть критическая по времени модель, которую я написал в Cython. Основная функция моего расширения Cython имеет один цикл, и в соответствии с профилировщиком Cython (где он показывает количество вызовов Python в желтых оттенках) единственная «желтая» часть в настоящее время находится там, где я добавляю список Python. (Мне нужно вывести объект Python, поскольку я […]

Возвращение объектов в Python из C

Я прочитал документацию для Python C-API и даже написал несколько модулей расширения. Тем не менее, я все еще немного неясен в отношении точной семантики, когда дело доходит до возвращения объектов Python из функции C. Ограниченные примеры в документах Python обычно показывают функцию C, которая возвращает результат Py_BuildValue . Теперь Py_BuildValue возвращает New Reference ссылку и […]

Разбор грамматики python с boost :: spirit – проблема

Я пытаюсь написать парсер python с помощью библиотеки boost :: spirit. Вот код: template <typename Iterator> class Parser : public qi::grammar<Iterator, space_type> { public: Parser() : Parser::base_type(small_stmt) { NEWLINE = lit("<NEWLINE>"); INDENT = lit("<INDENT>"); DEDENT = lit("<DEDENT>"); ENDMARKER = lit("<EOT>"); NAME = identifier.alias(); NUMBER = integer|longinteger|floatnumber|imagnumber; STRING = stringliteral.alias(); identifier = (alpha | '_') >> […]

YCM не находит мои заголовки?

У меня есть следующая структура папок: . ├── include │ └── ctset │ ├── hashtable.h │ └── set.h └── src └── hashtable └── hashtable.c И в hashtable.c включить #include "ctset/hashtable.h" , но YCM продолжает говорить мне, что он не знает типы, которые я определил в заголовке и использую в источнике. Мой .ycm_extra_conf.py почти по умолчанию […]

.so не импортирует в python: динамический модуль не определяет функцию init

Я пытаюсь написать оболочку python для функции C. После написания всего кода и его компиляции Python не может импортировать модуль. Я следую приведенному здесь примеру. Я воспроизвожу его здесь, после исправления некоторых опечаток. Существует файл myModule.c: #include <Python.h> /* * Function to be called from Python */ static PyObject* py_myFunction(PyObject* self, PyObject* args) { char […]

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