 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Многострочный #define
| |
| AirKite | Дата: Среда, 29.02.2012, 21:39 | Сообщение # 1 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус: 
| Собственно сабж, интересует возможность многострочного макроса. Нужна именно замена многострочной строки на что либо.
например код: Code new lol; abrakadabra() { fgaqwe(); } заменить на: Code new lol_lol; abrakadabra() { LOL(); fgaqwe(); }
[1337GAMES] Easy RP (SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)
Jabber: airkite@qip.ru [Addon] QuickBinder [FS] Online Players Record
Сообщение отредактировал AirKite - Четверг, 01.03.2012, 05:59 |
| |
|
|
| AirKite | Дата: Четверг, 01.03.2012, 18:43 | Сообщение # 2 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус: 
| Видимо #define не рачитан на это, раз столько просмотров и ни одного ответа. Перед тем как создать тему, естественно гуглил. Отсюда вывод... Но надежда есть, то что я плохо гуглил
[1337GAMES] Easy RP (SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)
Jabber: airkite@qip.ru [Addon] QuickBinder [FS] Online Players Record
Сообщение отредактировал AirKite - Четверг, 01.03.2012, 18:44 |
| |
|
|
| Geryy | Дата: Пятница, 02.03.2012, 03:33 | Сообщение # 3 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| ответы были, но они удалялись почему-то.
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
|
| |
|
|
| AirKite | Дата: Пятница, 02.03.2012, 16:03 | Сообщение # 4 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус: 
| Где были? Откуда удалились?
[1337GAMES] Easy RP (SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)
Jabber: airkite@qip.ru [Addon] QuickBinder [FS] Online Players Record
Сообщение отредактировал AirKite - Пятница, 02.03.2012, 16:03 |
| |
|
|
| Geryy | Дата: Пятница, 02.03.2012, 16:18 | Сообщение # 5 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Quote (AirKite) Где были? Откуда удалились? Из этой темы.
Мой пост:
Quote не очень понятен смысл замены и как тут можно дефайн использовать, дефайн - это же не замена, это просто кусок кода, который инициализирован каким-нибудь именем, для сокращения или для понятности, он же не заменяет ничего, просто вставляет. Не вижу, как можно в этой замене его применить. Т.е. есть #define define123 (далее код) - вставляешь его куда надо, при компиляции на этом месте - вместо define1235 появляется тот код, который выше и все...
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
|
| |
|
|
| _Dark_ | Дата: Пятница, 02.03.2012, 16:40 | Сообщение # 6 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 379
Награды: 4
Город: Dark://core.dll
Репутация: 169
Замечания: 40%
Статус: 
| Нет такого вроде. Если бы в Pawn было что-то вроде eval в PHP, тогда еще можно было бы подумать.
Quote (Geryy) не очень понятен смысл замены и как тут можно дефайн использовать, дефайн - это же не замена, это просто кусок кода, который инициализирован каким-нибудь именем, для сокращения или для понятности, он же не заменяет ничего, просто вставляет. Не вижу, как можно в этой замене его применить.
Ф-ия define выполняется компилятором. Это значит, что если есть то компилятор вначале пройдется по всему коду и заменит где нужно TEST на 1, а потом скомпилирует скрипт.
Это и Quote (Geryy) дефайн - это же не замена Quote (Geryy) Т.е. есть #define define123 (далее код) - вставляешь его куда надо, при компиляции на этом месте - вместо define1235 появляется тот код, который выше и все... Это и есть замена...
Если баги возникают из ниоткуда - ты на правильном пути. (с)
Сообщение отредактировал _Dark_ - Пятница, 02.03.2012, 16:43 |
| |
|
|
| Alcoholik | Дата: Пятница, 02.03.2012, 17:04 | Сообщение # 7 |
|
Мастер джэдай
Группа:
Администратор
Сообщений: 8299
Награды: 111
Город: Санкт-Петербург
Репутация: 6085
Статус: 
| Если и можно было бы так делать, то легче руками править такое, так как макросы используются для удобства скорее. То есть открываешь код, ищещь что-то уникальное из кода, например, abrakadabra(), ну и потом меняешь на то, что в буфере Quote (AirKite) new lol_lol; abrakadabra() { LOL(); fgaqwe(); } Если код большой и много таких мест, придётся потрудиться.
if(isset($beer)&&isset($girl)) { drink($beer);fuck($girl); }else die(); Мониторинг sa:mp серверов Приватно никого не консультирую, моды также не пишу, ни так, ни за деньги. Моя ICQ 675715, пишу только с неё. Все остальные Роачи фейки, ничего я не продаю и продавать не буду, вас разводят.
|
| |
|
|
| Geryy | Дата: Пятница, 02.03.2012, 17:19 | Сообщение # 8 |
|
Советчик
Группа:
Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус: 
| Quote (_Dark_) Это и есть замена... Это не замена, а просто вставка кода.
Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
|
| |
|
|
| Imperealist | Дата: Пятница, 02.03.2012, 17:34 | Сообщение # 9 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 205
Награды: 10
Город: Санкт-Петербург
Репутация: 518
Замечания: 100%
Статус: 
| Quote (Geryy) Это не замена, а просто вставка кода. подстановка
Soviet Connection - open!
  
|
| |
|
|
| AirKite | Дата: Пятница, 02.03.2012, 18:03 | Сообщение # 10 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус: 
| Geryy, #define это макрос. #define выполняет именно замену кода по шаблону. http://ru.wikipedia.org/wiki/Макрос
Quote (RoACh) Если и можно было бы так делать, то легче руками править такое, так как макросы используются для удобства скорее. Не скорее а так и есть. Только для удобства. Другого применения я не вижу.
Quote (RoACh) То есть открываешь код, ищещь что-то уникальное из кода, например, abrakadabra(), ну и потом меняешь на то, что в буфере Quote (RoACh) Если код большой и много таких мест, придётся потрудиться. Код пока 40~ строк в том месте (что бы не путали... не 40к а именно сорок строк) Касательно того что если бы была задача, как ты её понял, то я бы попросту регулярками заменил то что мне нужно, и хоть 250к строк.
[1337GAMES] Easy RP (SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)
Jabber: airkite@qip.ru [Addon] QuickBinder [FS] Online Players Record
Сообщение отредактировал AirKite - Пятница, 02.03.2012, 18:08 |
| |
|
|
| _Dark_ | Дата: Пятница, 02.03.2012, 20:23 | Сообщение # 11 |
|
Постоялец
Группа:
I'm V.I.P.
Сообщений: 379
Награды: 4
Город: Dark://core.dll
Репутация: 169
Замечания: 40%
Статус: 
| Quote (Geryy) Это не замена, а просто вставка кода.
Code #define MSG_SEND "Test Message"
SendClientMessage(playerid, -1, MSG_SEND); -> Code SendClientMessage(playerid, -1, "Test Message"); Замена.
Code #define MSG_SEND "Test Message"
SendClientMessage(playerid, -1, MSG_SEND); -> Code SendClientMessage(playerid, -1, "Test Message"); Вставка вместо MSG_SEND.
Разница?
Если баги возникают из ниоткуда - ты на правильном пути. (с)
Сообщение отредактировал _Dark_ - Пятница, 02.03.2012, 20:23 |
| |
|
|
|
 |
|
 | |
| |
|