Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2017, 20:47   #41
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
На чистом С можно сделать
Не подскажите современный компилятор чистого С который это сделает?
kvitaliy вне форума Ответить с цитированием
Старый 17.07.2017, 22:13   #42
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,357
По умолчанию

Любой...

https://www.codeproject.com/Articles...untime-Library
waleri вне форума Ответить с цитированием
Старый 18.07.2017, 17:04   #43
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Любой...
Современный?
Цитата:
Mike_V, 25 Mar 2007
Размер
Цитата:
much more reasonable 4K! (4096 bytes to be exact)
Это чуть больше, чем 1.5 К

Последний раз редактировалось kvitaliy; 18.07.2017 в 17:06.
kvitaliy вне форума Ответить с цитированием
Старый 18.07.2017, 20:24   #44
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,357
По умолчанию

Visual Studio 2015 - вполне себе современный компилятор, может собрать пустое ЕХЕ размер 1536 байт. Если пошаманить, то можно уложиться в 1024, но толку от этого никакого - пустое ЕХЕ никому не нужно.

Я лично, если оцениваю компилятор, смотрю не на размер ЕХЕ файла а на размер сгенерированого кода.
waleri вне форума Ответить с цитированием
Старый 18.07.2017, 20:34   #45
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
не на размер ЕХЕ файла а на размер сгенерированого кода
А я на размер исходного кода и получившийся после этого размер exe.
Соотношение скорости написания и размера конечной программы на выходе и будет показатель эффективности.
kvitaliy вне форума Ответить с цитированием
Старый 18.07.2017, 21:06   #46
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,772
По умолчанию

Цитата:
Соотношение скорости написания и размера конечной программы на выходе и будет показатель эффективности.
Т.е. вы утверждаете, что программа, которая будет каждый раз расчитывать значения функции эффективнее, чем которая будет выводить из таблицы при прочих равных?
p51x вне форума Ответить с цитированием
Старый 19.07.2017, 00:05   #47
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,357
По умолчанию

Цитата:
Сообщение от kvitaliy Посмотреть сообщение
А я на размер исходного кода и получившийся после этого размер exe.
Ну, изначально речь шла о минимальном размере.
Далее, соотношение размера программы к размеру ЕХЕ напрямую зависит от эффективности компилятора. Просто вы не учитываете размер рантайм библиотек, которым пользуется ваша программа.

И под занавес, короткий код это не всегда быстрый код.
waleri вне форума Ответить с цитированием
Старый 19.07.2017, 20:25   #48
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Просто вы не учитываете размер рантайм библиотек, которым пользуется ваша программа.
Не важно, если библиотеки входят в состав ОС.

Цитата:
Сообщение от waleri Посмотреть сообщение
напрямую зависит от эффективности компилятора.
Язык программирования и его особенности синтаксиса? Компиляторы могут быть одинаковые.
Пример: На FASM программа Beer в 1 К и она работает на любой Win без сторонних библиотек.
Оболочка в виде PureBasic на выходе выдаст программу размером 2 K и она работает на любой Win без сторонних библиотек.
Но вот затраты на написание ? Одинаковая прога Beer, коды
Fasm чистого кода 25 строк:
Код:
format PE GUI 4.0
include 'win32a.inc'
	invoke	MessageBoxA,0,_message,_caption,MB_ICONQUESTION+MB_YESNO
	cmp	eax,IDYES
	jne	exit
	invoke	mciSendString,_cmd_open,0,0,0
	invoke	mciSendString,_cmd_eject,0,0,0
	invoke	mciSendString,_cmd_close,0,0,0
exit:
	invoke	ExitProcess,0
_message db 'Do you need additional place for the beer?',0
_caption db 'Desktop configuration',0
_cmd_open db 'open cdaudio',0
_cmd_eject db 'set cdaudio door open',0
_cmd_close db 'close cdaudio',0
Data Import
 library kernel32,'KERNEL32.DLL',\
	 user32,'USER32.DLL',\
 winmm,'WINMM.DLL'
 Import kernel32,\
	ExitProcess,'ExitProcess'
 Import user32,\
	MessageBoxA,'MessageBoxA'
 Import winmm,\
	mciSendString,'mciSendStringA'
End Data
PB чистого кода 5 строк

Код:
If MessageBox_(0,"Do you need additional place For the beer?","Desktop configuration",#MB_ICONQUESTION|#MB_YESNO) = #IDYES
mciSendString_("open cdaudio",0,0,0)
mciSendString_("set cdaudio door open",0,0,0)
mciSendString_("close cdaudio",0,0,0)
Else:End:EndIf
kvitaliy вне форума Ответить с цитированием
Старый 20.07.2017, 00:15   #49
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,357
По умолчанию

Цитата:
Сообщение от kvitaliy Посмотреть сообщение
Не важно, если библиотеки входят в состав ОС.
Это относится ко всем языкам. К сожалению, не всегда библиотек ОСи достаточно.

Программу, которую вы привели в качестве примера на С не займет много больше строк, да и размер ЕХЕ файла можно сделать сопоставимым с размером ФАСМ варианта. Качества компилятора раскрываются когда дело доходит до оптимизаций. В линейном вызове нескольких функций много не наоптимизируешь.

У меня нет ни малейшего желания спорить о достойнствах этого языка, я только отметил, что создание маленьких ЕХЕ файлов не его прерогатива.
waleri вне форума Ответить с цитированием
Старый 06.08.2017, 03:12   #50
Ethereal2
Пользователь
 
Регистрация: 17.02.2013
Сообщений: 26
По умолчанию

Цитата:
Сообщение от flamehowk Посмотреть сообщение
ДРАКОН - вменяемый визуальный алгоритмический язык
Не вменяемый. Ибо программа = алгоритмы + структуры данных. Алгоритмы Драконом записываются, а структуры данных уже нет. Последние в нем отданы на откуп нижележащему ЯВУ (Си, Паскаль, Ява, etc.), и если ЯВУ с этой задачей справляется, то причем тут Дракон ?
Мое мнение о Драконе такое - его автор Поронджанов был начальником над программистами при разработке Бурана и его Дракон - это просто унификация оформления тех.заданий для подчиненных, причем в тех.заданиях строго описывается блок-схемами только алгоритм работы разрабатываемого устройства самого верхнего уровня, а все остальное отдается на откуп исполнителям (и нижележащему ЯВУ), ибо начальник все равно в этом ничего не понимает.
Характерно, что в своей книге о Драконе Поронджанов не привел ни одной программы на нем. Ибо то, что там есть - алгоритмы, конечно, но вот программами их назвать никак нельзя. Данных-то в них (кроме булевых переменных ДА/НЕТ) нет нигде.

Последний раз редактировалось Ethereal2; 06.08.2017 в 03:29.
Ethereal2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли установить пакет 'directx app' от Visual Studio, на win 7. Или это можно сделать только на win 8 win 10. vik7878 Софт 1 07.12.2016 10:47
можно ли писать php код внутри javascript инструкции if? если можно, то как это сделать? Ubihinon JavaScript, Ajax 2 20.02.2012 08:40
можно ли писать php код внутри javascript инструкции if? если можно, то как это сделать? Ubihinon PHP 2 18.02.2012 17:45
Чем отличаеться fasm от fasm editor&? TotKtoNado Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 07.11.2011 17:00
можно ли сделать wolf777 PHP 7 06.11.2011 18:25