|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 16, 2004 14:57:24 S_T_A_S_ Всё хочу спросить, зачем у тебя две точки перед ..SafePlace, в этом есть какой-то смысл или для тебя так удобнее? Можно так: _try ; install SEH;-) |
|
|
Дата: Июл 16, 2004 17:20:39 Asterix По поводу 2х точек. Предположим, есть код: global: try .local: finally ; <- ..SafePlace .local2: ..... global_2: К меткам, которые начинаются с точки можно обращаться из кода после global_2 или перед global как к меткам global.local и global.local2 , т.е. они как бы "прикрепляются" к главной метке. Если SafePlace написать совсем без точек, то .local2 "прикрепится" к SafePlace , что может вызвать проблемы, т.к. метки global.local2 не будет. Если перед SafePlace написать одну точку, то она сама будет локальной, и "прикрепится" к global . Если между global и global_2 будет 2 finally , то в этом случае SafePlace будет 2 раза "прикрепляться" к global. Т.е. в этом случае возможна ошибка - 2 одинаковые метки. Поскольку у меня указанно local, то такой проблемы возникнуть не может - SafePlace на самом деле будет иметь вид SafePlace?XXXXX, где XXXXX - фиг его знает что :). Т.е. можно и одну точку написать - никаких конфликтов возникнуть не должно. 2 точки имеют специальный смысл в FASM. Такая метка явлдяется глобальной, т.е. не "прикрепляется" к другим, и к ней можно обращаться из любого участка программы просто по имени. Но и к неё не будут "прикрепляться" локальные метки, они будут "прикрепляться" к предыдущей метке без точек. Поскольку она ещё и local, то она является глобальной меткой с уникальным именем. В данном случае, в принципе, нет большой разницы одна или 2 точки - оба способа не будут вызывать никаких конфликтов. Но если развивать этоти макросы, то можно будет воспользоваться 2мя точками. В аттаче пример, я несколько модифицировал макросы - при компиляции будут выведены RVA всех finally. Это сделано 2мя способами, 2й как раз основан на том, что метки ..SafePlace глобальные. Конечно, пример примитивный, но не обязательно использовать DISPLAY, можно например, подобным образом создать табличку, где хранятся RVA всех finally. А потом при запуске программы её как-нибудь использовать :). В общем, в подобных случаях я всегда использую 2 точки - потом это может пригодиться при усовершенствовании макросов, например для вывода всякой отладочной инфы, мало ли.. > _try ; install SEH Логично =) 1633011568__seh.zip |
|
|
Дата: Июл 16, 2004 18:12:36 S_T_A_S_ Эка сложно то как, с этими двумя точками, придётся сохранить себе этот топик чтоб не забыть, спасибо за разъяснение. Кстати, структура CONTEXT есть в моём первом аттаче что в начале топика, отдельно от исходника. Ты что сырец в FAR'е что-ли писал, прикольно конечно кракозяблики вместо русского, и в сообщении при компиляции тоже кракозяблики %) _1174643548__seh_messages.png |
|
|
Дата: Июл 16, 2004 19:30:29 Asterix > Эка сложно то как, с этими двумя точками Это я наверное усложнил череcчур :). Смысл такой, что есть метки глобальные и локальные, первые бывают 2х типов без точек и с 2мя точками, а вторые - с одной. > Кстати, структура CONTEXT есть в моём первом аттаче что в начале топика, отдельно от исходника. Поскольку я её не заметил, то пришлось конвертировать из сишного хидера =) > Ты что сырец в FAR'е что-ли писал, прикольно конечно кракозяблики вместо русского, и в сообщении при компиляции тоже кракозяблики %) Да, я маленькие сорцы в FAR'е делаю, удобно. в консоли кракозябликов не было =) Вообще русские буквы в сорцах обычно не пишу - запаришся переключать раскладку. |
|
|
Дата: Июл 16, 2004 20:22:36 S_T_A_S_ > Поскольку я её не заметил, то пришлось конвертировать из сишного хидера =) Надеюсь хоть не вручную :-) |
|
|
Дата: Июл 16, 2004 22:34:04 Дык 2 минуты :) А вообще, imho это полезно - в голове больше отложится |
|
|
Дата: Июл 16, 2004 23:18:06 Нет, не полезно, нужно юзать perl для этих целей, что гораздо полезнее ;-) |
|
|
Дата: Июл 17, 2004 10:08:49 Не.. пока меня ещё не сильно приПЁРЛо %) |
|
|
Дата: Июл 27, 2004 03:39:22 Hangatyr Да, действительно. чем?-) Грубо говоря ничем. Но ведь мой ник - маразм, так что мне можно (надеюсь) простить ентот вопрос. All Спасибо вам. и извените за столь глупый вопрос. Впредь обещаю таких вопросов не задавать. Ну и коль тема закрыта ляпну кой-чё. Многоуважаемый Asterix, немогли бы вы дать ссылочку на замечательный редактор (понравился он мне:), изображенный на скрине? Инета нету, искать не могу. А лучше, если он небольшой, мне на мыло. А еще лучше даже не мне, а frogger'у (он в инете чаще бывает). Заранее спасибо (большое естевственно%). |
|
|
Дата: Июл 27, 2004 04:11:58 frogger Я его использую только под fasm, довольно симпатичный, но маловаты возможности по подсветке синтаксиса, кстати могу прицепить сюда файл подсветки для fasm'а(если кому-то нужно), компиляцию нужно вешать на hotkey. Лежит здесь ConTEXT |
|
|
Дата: Июл 28, 2004 03:35:52 Asterix Класс! Клевый редактор. Он даже автоматом (по нажатию f1) инфу по нужной инструкции ищет:) Спасибо! Я доволен. Вот только один косяк - не может он сам определять когда dll а когда exe делать (приходится на F9 и F10 вешать). А в целом - очень удобный редактор! PS. Прошлый пост forgger'a мой. |