информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеАтака на InternetСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Кстати, об оптимизации (по размеру) 14.03.02 12:09  Число просмотров: 973
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
<"чистая" ссылка>
Зайди на http://www.uinc.ru/articles/
Там есть моя статейка про написания программ без RTL.
Т.е. в твоем случае это будет очень выгодно. Лишних кил 26-28 уберешь.
Минимально прога может занимать до 1К

http://www.uinc.ru/articles/
<programming>
[Win32] Глюк с оптимизацией 13.03.02 23:18  
Автор: Developer Статус: Незарегистрированный пользователь
<"чистая" ссылка>
В Visual C++ 6.0 написал программу, в которой трижды используется написанная мной функция. В режиме отладки (т.е. без оптимизации) вызовы этой функции проходят корректно во всех трех местах. С оптимизацией два вызова этой функции срабатывают, а третий вызов возвращает всякий мусор. В чем ошибка? Что делать? Не использовать оптимизацию? (в моем случае это не критично,т.к оптимизированная нерабочая версия занимает 36 Кб, а рабочая неоптимизированная - 40 Кб)
Код посмотреть можно ? 15.03.02 15:48  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
Самой ф-ии и ее вызовов. Очень часто в дебагере не прявляются ошибки связанные с памятью. В релизе проги падают на счет раз. Может и не при чем оптимизация.
[Win32] Код посмотреть можно ? Можно! 15.03.02 22:45  
Автор: Developer Статус: Незарегистрированный пользователь
<"чистая" ссылка>
есть функция:
char* Split (char* source,int iNum)
{
char string[MAX_PATH]
............ операции с этой переменной
return string;
}
Другая функция:
void resolve()
{
char tmp[MAX_PATH];
memset(tmp,0,sizeof(tmp));
strcat(tmp,Split(Program_Path,1)); (здесь в "оптимизированной" версии возвращается всякий мусор)
}

в чем дело?
[Win32] Код посмотреть можно ? Можно! 15.03.02 23:14  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> есть функция:
> char* Split (char* source,int iNum)
> {

!!!!!!!!! BOT SDES~ !!!!!!!!!!!!!!
> char string[MAX_PATH]

string zadeclarirovana kak local peremennaia v etoi Split function, a ty vozvrachaesh pointer na etu peremennuu, estestvenno etot pointer invalid kak tolko function exits.

> ............ операции с этой переменной
> return string;
> }
> Другая функция:
> void resolve()
> {
> char tmp[MAX_PATH];
> memset(tmp,0,sizeof(tmp));
> strcat(tmp,Split(Program_Path,1)); (здесь в
> "оптимизированной" версии возвращается всякий мусор)
> }
>
> в чем дело?
[Win32] Код посмотреть можно ? Можно! 15.03.02 23:36  
Автор: Developer Статус: Незарегистрированный пользователь
<"чистая" ссылка>

ok, все понятно. надо быть осторожней с указателями.
[Win32] Глюк с оптимизацией 15.03.02 12:16  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка>
А как ты делаешь саму оптимизацию??
Работает ли нормально без оптимизации??
[Win32] Глюк с оптимизацией 14.03.02 08:07  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
посмотри что там на самом деле сгенерилось
в отладчике или в иде
может это глюк и без оптимизации в некоторых редких ситуациях тоже будет проявляться
[Win32] Кстати, об оптимизации (по размеру) 14.03.02 12:09  
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
<"чистая" ссылка>
Зайди на http://www.uinc.ru/articles/
Там есть моя статейка про написания программ без RTL.
Т.е. в твоем случае это будет очень выгодно. Лишних кил 26-28 уберешь.
Минимально прога может занимать до 1К

http://www.uinc.ru/articles/
[Win32] Кстати, об оптимизации (по размеру) 15.03.02 14:50  
Автор: ntlm Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Зайди на http://www.uinc.ru/articles/
> Там есть моя статейка про написания программ без RTL.
> Т.е. в твоем случае это будет очень выгодно. Лишних кил
> 26-28 уберешь.
> Минимально прога может занимать до 1К

Ню-ню.
А причем тут C++??? Попробуй-ка написать ченить с использованием классов - тебе придется реализовывать свой оператор new + менеджер памяти! А нафига такие извраты? Имхо, если rtl линковать динамически, выигрыш в размере будет не меньшим, при сохранении всей функциональности.
[Win32] это только поначалу непривычно 15.03.02 15:47  
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
<"чистая" ссылка>
> Попробуй-ка написать ченить с
> использованием классов - тебе придется реализовывать свой
> оператор new + менеджер памяти! А нафига такие извраты?

И так пишу.
Это только поначалу непривычно.
Делаешь себе парочку функций нужных, а остальное...

> Имхо, если rtl линковать динамически, выигрыш в размере
> будет не меньшим, при сохранении всей функциональности.

Да при чем тут это? Я же говорю что может он совсем не нужен? Т.е. вообще не линковать никак.

Кстати, а если ты думаешь что все проги без RTL "покоцаннно-ущемленные", то посмотри на примеры софта:

http://www.kmint21.com
[Win32] это только поначалу непривычно 16.03.02 00:56  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка>
На самом деле,
делаешь оптимизацию как говарил KMiNT21
и линкуешь с msvcrt.lib
Юзаешь спокойно malloc, free и всё остальное,
и размер реально супер маленький
[Win32] это только поначалу непривычно 17.03.02 22:55  
Автор: Biasha <Бяша> Статус: Member
<"чистая" ссылка>
> На самом деле,
> делаешь оптимизацию как говарил KMiNT21
> и линкуешь с msvcrt.lib
> Юзаешь спокойно malloc, free и всё остальное,
> и размер реально супер маленький
Чем его оптимизация лучше импортов из msvcrt.dll? (плюс убивание выравнивания)
[Win32] не стоит все в одну кучу валить 21.03.02 11:46  
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
<"чистая" ссылка>
> > На самом деле,
> > делаешь оптимизацию как говарил KMiNT21
> > и линкуешь с msvcrt.lib
> > Юзаешь спокойно malloc, free и всё остальное,
> > и размер реально супер маленький

> Чем его оптимизация лучше импортов из msvcrt.dll? (плюс
> убивание выравнивания)

Не стоит все смешивать :)

Если не нужно все что есть в RTL - не нужно этот код цеплять.
Если нужно кое-что, совсем мало - можно лишь это и загнать себе в EXE.
Если много нужно - лучше забыть про отключение RTL (а как/когда его цеплять - то уже другой вопрос.).

Вот и все.
[Win32] Да ё. За счёт чего оптимизация то? 21.03.02 22:24  
Автор: Biasha <Бяша> Статус: Member
<"чистая" ссылка>
> > > На самом деле,
> > > делаешь оптимизацию как говарил KMiNT21
> > > и линкуешь с msvcrt.lib
> > > Юзаешь спокойно malloc, free и всё остальное,
> > > и размер реально супер маленький
>
> > Чем его оптимизация лучше импортов из msvcrt.dll?
> (плюс
> > убивание выравнивания)
>
> Не стоит все смешивать :)
>
> Если не нужно все что есть в RTL - не нужно этот код
> цеплять.
Куда цеплять? В ехе'шник - так не попадёт он туда. В память - да, но вероятней всего msvcrt.dll уже там.

> Если нужно кое-что, совсем мало - можно лишь это и загнать
> себе в EXE.
А можно вообще ничего не загонять - только импорты.

> Если много нужно - лучше забыть про отключение RTL (а
> как/когда его цеплять - то уже другой вопрос.).
>
> Вот и все.
Что всё? чем так крута оптимизация KMiNT21, что она лучше стандартной MS'овской?
[Win32] Итак 22.03.02 10:52  
Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
<"чистая" ссылка>
> Что всё? чем так крута оптимизация KMiNT21, что она лучше
> стандартной MS'овской?

По-первых, я тут не причем. Это не "моя" оптимизация.

Во-вторых, я как раз и говорю - нечего сравнивать такую оптимизацию с MS'ской. Это разные вещи. Сам понимаешь.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach