Автор
|
Тема: Сокеты + ASM
|
arty |
опубликован 07-02-2002 20:03 MSK
Народ, кто нить знает как работать с сокетами в асме (создавать, слушать, читать...)? Если есть куда послать, киньте урл, плз. А если в примеры ткнёте, так вообще рулез!!! На всяк случай ё-мэйл - bocho_arty@hotbox.ru Заранее благодарен :)
|
rivitna
|
опубликован 07-02-2002 21:02 MSK
Не вполне понятная проблема! Никто не мешает C-ный код с использованием API перевести на ASM |
arty
|
опубликован 07-02-2002 21:10 MSK
Дык надо, чтоб прога как можно меньше занимала в памяти! и работала шустрей. Думаю, что лучше изначально написать на асме. Или я не совсем прав? |
rivitna
|
опубликован 07-02-2002 21:29 MSK
Так-то оно так! Оцени нужность программы и трудозатраты. На ASM'е они очень велики. Отнесись рационально к вопросу.В принципе если найдешь код на C, можно легко его переделать на ASM. С другой стороны в сетевых приложениях скорость все равно будет определяться скоростью передачи данных. Мой совет: пиши на C с использованием, некоторые процедуры (критичные) можешь написать на ASM'е и не парь себе мозги |
arty
|
опубликован 07-02-2002 21:46 MSK
Не хочу показаться назойливым, но у меня клиент-серверное приложение. Клиентская часть долна быть очень маленькой. На Visual C++ с использованием API как ни измудрялся, получается, что простая прослушка порта висит в оперативке аж на ~500KB - ну это ж не дело! |
rivitna
|
опубликован 07-02-2002 22:03 MSK
> Не хочу показаться назойливым...Не бойся! Вопрос интересный. А ты не думаешь, что основной объем в памяти занимают загруженные системные dll при статическом подключении (что в секции импорта)? Этот нижний порог ты можешь снизить, с умом динамически подгружая библиотеки с помощью LoadLibrary |
arty
|
опубликован 07-02-2002 22:57 MSK
Все ненужные библиотеки (lib) я отключил, но насколько я заметил это не повлияло на занимаемую память, а повлияло лишь на размер самой проги (добился 4Kb - некоторые доп. навороты с компилером). Ещё одно ухищрение - использование ф-ции SetProcessWorkingSetSize. По поводу подключения библиотек - я так понял, что поключая их по мере необходимости, прога будет жрать меньше? |
rivitna
|
опубликован 07-02-2002 23:09 MSK
Если тебе нужна func1 из dll1.dll, а функции из dll2.dll в это время не нужны, то и dll2.dll тебе в памяти не нужна.При статическом подключении dll-ки висят все время работы программы и часто это бывает не нужно. При динамическом подключении можно подгружать необходимые библиотеки, а затем освобождать, и памяти это должно требовать меньше.
|
arty
|
опубликован 07-02-2002 23:29 MSK
Отличная идея, обязательно попробую. Большое спасибо! :-))) Но всё-таки очень хочется попробовать на асме. Всё приложение я писать естественно не собирался никогда. Очень нужно (требуют так) создать слушающий сокет. Неужели это так трудно написать? Где хоть про работу с сетью для асма почитать? |
frostbitten
|
опубликован 12-02-2002 18:00 MSK
Да глупо это на асме писать... Обработчики ошибок нужны богатые при работе с сетью.Накрапал я года 3 назад троян на асме слушал он там, читал писал... отстой полный короче. Но работал... если хочешь могу кинуть... только фрагменты... |
arty
|
опубликован 12-02-2002 19:29 MSK
Намыль, плз сюда - bocho_arty@hotbox.ru |
arty
|
опубликован 15-02-2002 10:05 MSK
frostbitten, ау-у! |