|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 20, 2004 06:02:14 S_T_A_S_ Такой код, наверное, Дельфя выдаёт Sprinx C-- посмотрел, интересный язык, но всё-таки слишком высокоуровневый Я тут одну свою Asm-прогу на С (без CRT, fastcall, оптимизация под Pentium по размеру) перенёс - размер уменьшился вдвое, правда, я немного реорганизовал структуру кода (впрочем, на Asm'е что-то реорганизовать было уже почти невозможно). |
|
|
Дата: Июл 20, 2004 14:09:43 Loger > Такой код, наверное, Дельфя выдаёт Неа.. MSVC 2003: /Og /Oi /O1 /Os /Oy /Ob1 /Gr /GA /G7 /arch:SSE %) > Я тут одну свою Asm-прогу на С перенёс - размер уменьшился вдвое, правда, я немного реорганизовал структуру кода Дык, реорганизация структуры кода многое может дать. Кстати, простой пример уменьшения размера можно получить, переписав "masm32\ICZTUTES\TUTE03\WIN.ASM" на асме по-нормальному, Никакой Си компилер не сделает такой маленький код. |
|
|
Дата: Июл 20, 2004 14:47:21 По моему так про Ассем, как это начал говорить автор темы. Эх, зла нехватает! Ассем это самый красивый и понятный, когда там меньше высокоуровневой дури! |
|
|
Дата: Июл 20, 2004 14:47:34 n0p А на чистом асме писать окошки - это издевательство над языком и своим мозгом. (Проверял лично :)) ну это только по началу :) и ещё - вот такой код: xor eax,eax push eax push eax push eax push dword ptr [esp+10] push eax push dword ptr [esp+1C] inc eax mov dword ptr [esp+20],eax inc eax mov dword ptr [esp+2C],eax а вот после сяшной "оптимизации": mov eax, dword ptr [esp+1C] push 00000000 push 00000000 lea edx, dword ptr [esp+10] push 00000000 push edx mov esi, 00000001 push 00000000 push eax mov [esp+2C], 00000002 mov dword ptr [esp+20], esi это только несколько строк... а если их пару десятков тысяч? да после получаса работы в отладчике захочется говорить только нецензурщину, причём в больших количествах. |
|
|
Дата: Июл 21, 2004 05:05:06 Люди, включите оптимизацию по размеру |
|
|
Дата: Июл 21, 2004 15:20:29 Дык в моём примере как раз она и была включена. Так мало того, что код после неё можно легко уменьшить, так он ещё, похоже глючный %) |
|
|
Дата: Июл 22, 2004 11:49:35 Loger ну это только по началу :) Ну если 3.5 года ассемблерной практики под вынь называть началом.. Просто недавно я пытался написать файловый менеджер, но потом забил в силу некоторых причин (не из-за сложности проекта). А потом осознал, что на сях (которые я знаю на уровне универского курса) дело пошло бы намного быстрее и продуктивнее. Как на асме писать проги на основе нейронной сети, я вобще пока не представляю.. Всему свое место. Corpse да после получаса работы в отладчике захочется говорить только нецензурщину, причём в больших количествах. Вот с этим согласен. НО. ВСЕМУ СВОЕ МЕСТО. Имхо, если прога на сях весит 2кб, а на асме она весит 1кб, я могу только посмеяться. Во-первых: на винте это все-равно 4кб. Во-вторых: в наш век гигабайтов и гигагерцев вылавливать байты из обычной проги нормальному человеку покажется чистым идиотизмом. Люди, вон, уже вири на дельфях пишут (по сообщениям SecurityLab), а вы мне тут какие-то сказки про байты рассказываете. |
|
|
Дата: Июл 22, 2004 13:07:21 Имхо, если прога на сях весит 2кб, а на асме она весит 1кб, я могу только посмеяться. а если на сях со всеми оптимизациями около 300, а на асме - 100 (на сях ресурсы весять около 50 кб, на асме около 65 кб)? Делают почти одно и тоже. Не, вру, на асме побольше функционала раза в потора... |
|
|
Дата: Июл 22, 2004 17:30:59 masquer на сях ресурсы весять около 50 кб, на асме около 65 кб Это как? |
|
|
Дата: Июл 22, 2004 17:36:50 имелось ввиду то, что в проекте на асме немного больше ресурсов использовалось. Т.е. сишный проект был что-то типа базовым, а потом на асме функционал просто наращивался, т.к. не было нужных вещей (либо глючило что-то) |
|
|
Дата: Июл 22, 2004 18:07:58 в наш век гигабайтов и гигагерцев вылавливать байты из обычной проги нормальному человеку покажется чистым идиотизмом полностью согласен Люди, вон, уже вири на дельфях пишут я вообще не понимаю, почему у людей такое отношение у делфям :) замечательный язык, замечательная среда... можно конечно спорить о качестве оптимизации по отношению к сям. я на асме пишу с 92-го года, но делфевый компилятор меня несколько раз приятно удивлял. писАть сложные алгоритмические программы на асме - это полный идиотизм (мазохизм уж точно), взять теже нейросети... а так все просто - пишется на HLL и компилируется в obj, или просто дампится и вставляется куда надо в бинарном виде. примеров - масса, взять хотя бы экзамплы от z0mbie. что делфи, что си, генерят, как правило, позиционно независимый код (если не использовать вызовы апи и т.п.), так что тут проблем практически нет. для сложных случаев (вызовы апи, внешних функций) я написал такую хрень - типа дизассемблер, который разбирает на атомы нужную функцию, потом навешивает на нее (или пачку функций) типа загрузчика. вообщем такой мини-протектор получился :) и все тип-топ - пишешь на HLL, потом вставляешь куда надо, а геморрою - на порядки меньше, чем писАть тоже самое на чистом асме. |
|
|
Дата: Июл 22, 2004 18:17:38 сложные алгоритмические программы на асме - это полный идиотизм (мазохизм уж точно), взять теже нейросети... с нейросетями как-то не работал, но мне кажется, что тут все от самой задачи зависит и опыта. |
|
|
Дата: Июл 22, 2004 20:01:26 А кто компилил проги с Free Pascal Compiler? Я решил попробовать, скачал FPC, поставил скомпилил один из примеров - под 200 кб. Отключил все проверки, поставил максимальную оптимизацию (по размеру) - всё равно столько же. Загрузил в IDA - она насчитала под 2000 строк со всякими именами переменных, функций, типов. Это у меня руки кривые или он всегда пихает в EXE этот мусор? |
|
|
Дата: Июл 22, 2004 20:28:04 Max > я вообще не понимаю, почему у людей такое отношение у делфям :) замечательный язык, замечательная среда... Ты это серьёзно? Асмовому программисту лучше не суваться с дебаггером в прогу написанную на Delphi - это шок, например она может положить значение из eax в переменную и тут же опять достать его в eax, ужассссссс. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.059 |