|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Апр 25, 2004 19:05:00 Four-F Я не большой специалист в макросах, особенно касательно логики работы не мной написанных, хотел спросить у тебя про макрос $CTA0, если я с его помощью задаю одну и ту же строку в разных функциях, то сколько раз попадёт эта строка в файл, столько сколько задавал или один раз? Я мог бы конечно провести эксперимент но решил всё же спросить. |
|
|
Дата: Апр 25, 2004 21:53:03 Эксперимент показал что несколько раз, это плохо. |
|
|
Дата: Апр 25, 2004 22:01:22 Сколько $CTA0, столько и строк. А иначе придется создавать какую-то глобальную таблицу и отслеживать уже присутствующие там строки. А это такой геморрой... если вообще возможно макросредствами. Так что ручками :) |
|
|
Дата: Апр 26, 2004 00:06:19 А кстати, как с таким определением строк обстоят дела в C, там тоже несколько раз попадет? |
|
|
Дата: Апр 26, 2004 00:54:14 Asterix Компилятор C обязан оптимизировать код :-) В случае с VC++, повтора не будет, если строки являются константами в понимании компилятора. |
|
|
Дата: Апр 26, 2004 01:09:17 Понял :-) У С компилятора логика правильная ;-) |
|
|
Дата: Апр 26, 2004 04:30:33 · Поправил: q_q Quantum Компилятор C обязан оптимизировать код imho правильный компилятор предоставляет выбор программисту. В случае с VC++ за объединение одинаковых строк отвечает ключ /Gf или /GF. Соответствующий флажок есть в опциях настройки проекта в интегрированной среде. |
|
|
Дата: Апр 26, 2004 05:47:56 · Поправил: Quantum q_q Согласен. Выражусь иначе: "Компилятор C обязан уметь оптимизировать код" и уберу смайлик. |
|
|
Дата: Апр 26, 2004 12:44:17 [ Asterix : сколько раз попадёт эта строка в файл, столько сколько задавал или один раз? ] Это уже сделано для FASM. Посмотри описание макроса .sz ;-) |
|
|
Дата: Апр 26, 2004 17:54:26 S_T_A_S_ И где его смотреть? |
|
|
Дата: Апр 26, 2004 18:08:17 Asterix Дык файл "readme.ru" - тама описание всех моих макросов |
|
|
Дата: Апр 26, 2004 18:12:01 Ну так бы сразу и сказал что макрос твой ;-) |
|
|
Дата: Апр 26, 2004 23:10:08 S_T_A_S_ Кста, а как макрос то юзать, у тебя что-то примера не нашёл? А можно что-нить для masm'а замутить похожее? |
|
|
Дата: Апр 27, 2004 01:20:40 По поводу MASM я не знаю, можно ли там это реализовать - макросы там я толком и не понял :/ Примеры я уже начинаю делать наверное раз пятый ;). Но постоянно появляются идеи все переделать по-новой :) Если отдельно использовать - надо взять все макросы, начинающиеся с .sz из \#Inc\data.inc. Юзается примерно так: .sz caption,'some caption', text,'some text' invoke MessageBox 0,text, caption,0 ....... invoke MessageBox 0,text2, caption2,0 .sz caption2,'some caption' .sz text2,'some text' ....... ;; Это помещает все строки кучей (где-то в конце поместить) .sz.include ..sz А если подключать PE.inc, то вот это сразу компилировать можно: include '..\PE.inc' usedll user32 entry invoke MessageBox,0,'thank you','terminated',0 invoke MessageBox,0,'thank you','terminated',0 invoke MessageBox,0,'thank you','terminated',0 invoke MessageBox,0,'thank you','terminated',0 invoke MessageBox,0,'thank you','terminated',0 invoke ExitProcess, 0 .end |
|
|
Дата: Апр 27, 2004 01:37:55 .sz caption,'some caption', text,'some text' invoke MessageBox 0,text, caption,0 Не, мне что-то так не нравится :-( invoke MessageBox,0,'thank you','terminated',0 invoke MessageBox,0,'thank you','terminated',0 Вот так было бы в самый раз, если бы все эти строки помещались по разу, каламбур однако :-) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.170 |