![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при работе с директивой absolute [D7, XP]
ZiTRaX © (2007-02-01 22:25:00)В модуле объявляю переменную
var SystemTimer: Longint absolute $0040:$006C;
но компилятор ругается на такое объявление(на выделенное жирным). Смысл ошибки понять не могу (или в Delphi недопустимо такое объявление?).
Или, может, подскажете рабочий код для замера скорости выполнения участка кода или программы.
Заранее спасибо!
evvcom (2007-02-02 09:03:00) [1]> [3] ZiTRaX © (01.02.07 22:42)
> тупо скопипастил
Так голову включать надо. На что она тебе дана? Шапку носить?
А еще я в нее ем! (с)не знаю :-)
Anatoly Podgoretsky (2007-02-01 23:18:00) [2]> ZiTRaX (01.02.2007 22:42:03) [3]
Можешь использовать GetTickCount в первом приближение для данной цели, в 55 раз точнее.
ZiTRaX (2007-02-01 22:42:00) [3]2 Olivetti: Вот это и хотел услышать. Просто искал процедуру для замера и наткнулся на один модуль, а о том, что код не под Win32(как мне надо), подумать не соизволил. Да и вообще над кодом не думал, а тупо скопипастил его. Вот отсюда и такие тупые вопросы.
2 Virgo_Style: Спасибо за указание направления.
Virgo_Style (2007-02-01 22:32:00) [4]GetTickCount
а что, в справке что-то неясно написано?
Olivetti (2007-02-01 22:32:00) [5]$0040:$006C
Ты где этого допотопного монстра выкопал? В Windows - линейная адресация памяти. Форма Сегмент:Смещение тут не проходит. И вообще, прямое обращение к адресу памяти тут тоже не проходит. Память в Windows - виртуальная. Поэтому, выделяй память динамически. И никаких статических адресов.