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

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

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

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 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,493
По умолчанию

Любой...

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,493
По умолчанию

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,694
По умолчанию

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

Цитата:
Сообщение от 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,493
По умолчанию

Цитата:
Сообщение от 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