Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> из питона на с++ 
:(
    Опции темы
mrgloom
Дата 1.6.2012, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



допустим использую PyRun_SimpleString

возник  вопрос, как контролировать выполнилась ли строчка кода или нет?
ну допустим, если разработчиком питон кода сделано так, что функция скажем возвращает 0 или 1 
в зависимости от того выполнилась или нет, то можно просто получать это возвращаемое значение.
а если это не предусмотрено? теортетически даже непонятно, что в консоль питона должно вывестись.
а если чего то не хватает, как у меня было с import _socket или еще какая ошибка?
тем более вообще не понятно можем ли мы как то отслеживать, что выводится в консоль питона. 
PM MAIL   Вверх
rsm
Дата 1.6.2012, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



Цитата(mrgloom @  1.6.2012,  11:32 Найти цитируемый пост)
как контролировать выполнилась ли строчка кода или нет?

На время отладки возвращать более развёрнутый результат, плюс вести лог всех вызовов. Только не в консоль, а в файл - в консоли никаких сообщений из модуля на С не будет. Если нужна более продвинутая отладка - помогут gdb и Python, собранный с отладочной информацией.

Цитата(mrgloom @  1.6.2012,  11:32 Найти цитируемый пост)
а если это не предусмотрено? теортетически даже непонятно, что в консоль питона должно вывестись

Не предусмотрено кем?

Цитата(mrgloom @  1.6.2012,  11:32 Найти цитируемый пост)
а если чего то не хватает, как у меня было с import _socket или еще какая ошибка?

Поможет strace.
PM MAIL   Вверх
Karadul
Дата 1.6.2012, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Цитата(rsm @  1.6.2012,  18:12 Найти цитируемый пост)
Только не в консоль, а в файл - в консоли никаких сообщений из модуля на С не будет. 

pycurl как-то на stdout пишет.
PM MAIL   Вверх
rsm
Дата 2.6.2012, 04:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



Цитата(Karadul @  2.6.2012,  01:26 Найти цитируемый пост)
pycurl как-то на stdout пишет

Это текст исключений, которые обрабатывает и показывает Python. Сам pycurl как таковой ничего и никуда не пишет, он только генерирует исключения.
PM MAIL   Вверх
Karadul
Дата 3.6.2012, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.5.2006

Репутация: нет
Всего: 1



Ну так тоже ведь можно?
PM MAIL   Вверх
rsm
Дата 4.6.2012, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



Цитата(Karadul @  4.6.2012,  01:20 Найти цитируемый пост)
Ну так тоже ведь можно? 

Конечно. Просто нужно держать в голове, что модуль С как таковой никуда и никаких сообщений не выводит. А только генерирует исключения.
PM MAIL   Вверх
mrgloom
Дата 9.6.2012, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Код

void CPythonInterface::init_import()
{
    static const char *program = ""
    "import time\n"
    "import sem_\n"
    "import Image";

    PyRun_SimpleString(program);
}


ну вот например, загружаю свою длл, там в конструкторе стоит эта функция, падает на PyRun_SimpleString, причем что не так непонятно, прост опишет triggered a breakpoit, это если запускаю из дебага, а если в релизе, то просто моя длл-ка не грузится, getlasterror выдает ошибку 998. (Неверная попытка доступа к адресу памяти.)
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.