On-line: SergKis, гостей 2. Всего: 3 [подробнее..]
АвторСообщение
Администратор




Пост N: 1928
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.05.11 09:32. Заголовок: Сдвиг числа


Напомните склеротику, как сделать сдвиг влево/вправо числа в Harbour
В xHarbour я просто делаю:

nSec >> 5

а Harbour такую операцию не поддерживает

NumRoll из ct не подходит, поскольку мне нужен не циклический сдвиг

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 7 [только новые]


moderator




Пост N: 213
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.05.11 10:00. Заголовок: Pasha пишет: Harbou..


Pasha пишет:

 цитата:
Harbour такую операцию не поддерживает


Это не так (см.ниже)

Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1929
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.05.11 10:10. Заголовок: Спасибо Изменил в с..


Спасибо

Изменил в своем тексте:

#ifdef __XHARBOUR__ 
Local nAsw := nSec ^^ ((nSec >> 5) | 0xA0000000)
#else
Local nAsw := HB_BitXor(nSec, HB_BitOr(HB_BitShift(nSec, -5), 0xA0000000))
#endif


Строг оказался Harbour
Пересобираю свои программы, и спотыкаюсь на конструкциях вида:

if(lExpr, nSum+=Summa, 0)

Harbour такое не компилирует, говорит - бессмыссленное использование Numeric
Заменяю на
if(lExpr, nSum+=Summa,)


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 214
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.05.11 12:08. Заголовок: Pasha пишет: Заменя..


Pasha пишет:

 цитата:
Заменяю на
if(lExpr, nSum+=Summa,)


Более наглядно выглядит

 цитата:

if lExpr
    nSum+=Summa

endif



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1930
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.05.11 12:16. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Более наглядно выглядит



Да такие конструкции используются внутри блока кода, так что отдельными операторами не получится
Меня удивило то, что Harbour генерирует ошибку, хотя вполне достаточно было бы предупреждения

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1931
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 12.05.11 14:36. Заголовок: Поскольку я сейчас з..


Поскольку я сейчас занимаюсь переводом xHarbour --> Harbour, сейчас внимательно изучаю кишки Harbour
И вижу, что Harbour теперь работает не как интерпретатор, а пи-код сейчас выполняется покомандно вызовами hb_xvm* отдельно для каждой пи-команды. Этот режим появился довольно давно, еще в xHarbour, но теперь для Harbour он стал основным. Во всяком случае так собраны его библиотеки, с флагом компилятора -gc3
Если собрать exe в таком режиме, его размер получается больше раза в 2-3, но выполняется он по-видимому быстрее

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 215
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.05.11 15:50. Заголовок: Pasha пишет: так со..


Pasha пишет:

 цитата:
так собраны его библиотеки, с флагом компилятора -gc3


Да, этот ключ используется при сборке только RDD и RTL библиотек, цель - максимально ускорить выполнение программы

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1748
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.05.11 18:37. Заголовок: Pasha пишет: Если с..


Pasha пишет:

 цитата:
Если собрать exe в таком режиме, его размер получается больше раза в 2-3, но выполняется он по-видимому быстрее


А сколько занимает ехе-файл на хХарборе и Харборе ? В цифрах дать можете ?
И как по быстродействию ситуация обстоит ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 284
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет