![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
А Registry?)
|
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
Любитель
ну во первых то что я привел в качестве примера явно не бинарный код во вторых как будут инициализированы всякие там переменные зависит от компилера и его настроек можно преспокойно зарезервировать место в стеке либо просто тупо в памяти и даже в другом сегменте файла в третьих тема не имеет смысла так как с точки зрения проца , ему фиолетово что глобальные что локальные, на быстродействии не скажеться в четвертых с точки зрения безопасности глобальные безопасней, так как по дефолту они не в стеке, а локальные резервируються (по дефолту) в стеке, так что всегда есть шанс ченить переполнить или запороть пс nerezus шалом бро ) куда пропал? Это сообщение отредактировал(а) 500mhz - 26.8.2009, 20:28 -------------------- |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
500mhz, рутина( хата( жена(
Хотя кому как тебе не знать ) Сейчас работаю с PE-файлом на PHP ) Скоро на хабре статья будет ;) И почему все такие заказы я собираю ((( |
|||
|
||||
Любитель |
|
||||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Вот и я о том же! И именовать переменные лучше a, b, c, etc. Т. к. во-первых, место на диске (для исходника и объектника) экономим, а к ак следствие - ОЗУ. А итог один...
Но и ещё более явно не исходный. Ассемблерный листинг - это мнемоническое отображение бинарника (игнорируем ассемблерные дефайны, макросы, имена и пр. - не о них то речь!). Ну да... Вы писали большие проекты? Безопаснее? Да-да... А, если серьёзно, тема о другом. Никак не о low-level. ![]() |
||||
|
|||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
Любитель
для качественного кодинга думаю необходимо понимать как работает компилер и что он выдает на выходе, а потом уже спорить о переменных.
однозначно в мемориз ))))) -------------------- |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
500mhz, не согласен.
Какая разница, где находится переменная, если спецификация отвечает на вопрос "что произойдет"? Да никакой. Гораздо важнее, чтобы код был читаемый. Никому не нужен код, который работает в 5 раз быстрее и занимает 40 строчек вместо 100, если в нем никто не разбирается кроме автора, который может в любой момент покинуть проект. Главные факторы - время разрабюотки и поддерживаемость. |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
nerezus
ну так и я про то что фиолетово какая переменная локальная или глобальная главное чтоб удобно было пс но глобальные "надежней" ))) вот представь есть у тебя функция в ней локальные переменные, и тут ты вызываеш ну к примеру функцию из внешней dll , а dll ну чуть чуть глюковатая (всякое бывает) и портит стек, кусочек стека где лежат твои переменные (у нас же одно с ней адресное пространство значит и стек один), возвращаеться твой вызов в твою функцию и бабац результат работы совсем не тот что ожидали. -------------------- |
|||
|
||||
Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
правильно написанная программа не портит стек, если она его испортит, то где находятся переменные уже не важно, программа с высокой долей вероятности упадет ![]()
![]() lol ![]() а если будут только глобальные переменные, то типа все ОК, да? ![]() а как ты напишешь программу, которая будет использовать только глобальные переменные и не будет вызывать ф-ии, если не секрет? Добавлено @ 20:07 гы гы Это сообщение отредактировал(а) Lazin - 27.8.2009, 22:15 |
||||
|
|||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
Lazin
ты с темы не соскакивай ))
и не путай параметры передаваемые в функцию и переменные , а то как то непрофессионально получаеться у тебя )))) Это сообщение отредактировал(а) 500mhz - 27.8.2009, 21:33 -------------------- |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
а ты вопросы не игнорируй ![]() как, весь этот пропитанный невиданным профессионализмом и глубоким пониманием процесса порчи стека пост, доказывает, что глобальные переменные надежней? ![]() видимо часто доводилось портить... ![]() ...интересно, на меня так подействовало то, что я посмотрел 2 серии Хауса подряд, или я все время так делаю? lol |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
Lazin
Ты мой герой и мой кумир )))) мое скромное имхо что глобальные надежней при дефолтовых настройках компилера но никто не мешает поставить галочку и передавать все не через стек а через регистры ) -------------------- |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
500mhz, я думал ты мебель продаёшь.
![]() -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
W4FhLF
а что тута весь ВХ теперь тусит? )))) да занят был как бы личной жистью, и вот щас появилось время )))) пс в тему полюбому mov eax,1 , быстрее и безрпаснее чем mov eax, [ebp-4] ))) -------------------- |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 13 Всего: 43 |
500mhz, полюбому a = 1 быстрее(для программиста) и безопаснее ;)
По поводу ВХ, то не пречислял себя к нему никогда. |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
nerezus
мы тут не про асм vs C ))) естественно а=1 проще для понимания чем mov eax,1 вопрос в том как а=1 интерпритируеться потом -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |