![]() |
Модераторы: ginnie, korob2001 |
![]() ![]() ![]() |
|
SvetRus |
|
||||||||||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 17.6.2008 Репутация: нет Всего: нет |
Понадобилось портировать приложение с C++ в Perl. Столкнулся с неожиданной проблемой.
Начал писать это в Perl'e
Отлаживаюсь - переменная ксорится не с 6, а с аскии кодом 6, т.е. с 0x36. Порылся в мануале, нашёл функцию vXXX.YYY.ZZZ - сделал так:
Вроде работает, хоть и через .... лишную переменную. Дальше необходимо сделать побитовое И.
Написал на Perl'e
Таже проблема, операция проходит не с числом, а с символом '4'... сделал через переменную($q=v4) - стало сходиться с кодом на C++, но тут я столкнулся с проблемой - результат операции оказывается "строкой", а не числом. При попытке сравнить его в if($n_shift!=0)}else{} он всегда отправляет программу в else, хотя при распечатке лога работы(print в командную строку этой переменной) то "пустое место", символы. Есть ли в Perl'e операторы позволяющие жестко обозначить в каком виде я хочу использовать переменную??? Или проще будет сделать Dll на С++ и её подшивать к Perl-у? Последние часа 4 у меня ощущение, как будто я пытаюсь шурупы не закручивать шуруповёртом, а забивать им ![]() |
||||||||||
|
|||||||||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 6 Всего: 49 |
Уважаемый SvetRus, для Вашей задачи надо использовать функции pack() и unpack():
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
SvetRus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 17.6.2008 Репутация: нет Всего: нет |
ginnie, большое спасибо, теперь буду закручивать шурупы, а не забивать!!
![]() Глянул мельком мануал - pack(), unpack() позволят решить путаницу с "типами" данных!! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: Системное программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |