Автор не входит в состав редакции iXBT.com (подробнее »)
avatar
Достаточно бездумно использовать ООП.
avatar
Сделали кривое обновление, например.
avatar
Программисты, не проверяющие тип получаемых данных, должны гореть в аду :) Какому идиоту пришло в голову преобразовывать строковое значение в булево? А может туда можно и дроп датабейз вбить? Вдруг выполнится?
avatar
В России, да и везде, наверное, всё работает на волшебных пендалях. Там, где они легкие (как в России) — дожидаются пендаля, потом работают некоторое время. Там, где они тяжелые — предпочитают не дожидаться пендаля :)
avatar
Ты сначала на Ассемблере работу с потоком реализуй, потом будем сравнивать размеры.
avatar
Тут вроде претензии к цене были, а не к Huawei. Так что недорогие Huawei вполне можно брать.
avatar
Обычный вызов API:
MessageBoxA(0, «Hello, world!», «My App», MB_OK);
ExitProcess(0);
avatar
Статический «Hello, world!», скомпилированный VC2015 весит 960 байт. Из которых собственно код — 29 байт (в котором 5 push и пара call), 32 байта — строковые константы, все остальное — заглушка от запуска в DOS и служебные данные EXE файла. На Ассемблере ты меньше не получишь.
avatar
А может это жена выбрала, и у мужика никаких шансов отказаться не было? Рука-то у нее тяжелая.
P.S. Скорее всего дело не в тяжелой руке, а в выносе мозга и головной боли у жены.
avatar
Зря успокоился, скоро шубу покупать будешь :)
avatar
Импортозамещение-то работает!
avatar
Просто не надо пихать телефон во всякие карманы, где он может погнуться.
avatar
VC по умолчанию при статической сборке включает только требуемые функции из библиотеки, так что релизные сборки с небольшим функционалом влезают в 32-64 кБ (в зависимости от версии инструментов сборки).
avatar
Больше кода — больше размер исполняемых файлов. Что на C++, что на Ассемблере. Плюс переход от 16-битного режима к 32-битному, а затем и 64-битному сам по себе увеличивает размер исполняемых файлов. Что тут можно вообще сравнивать? Теплое с мягким? Кстати, VC умеет генерить asm файлы параллельно с компиляцией — ничего не мешает глянуть в какие конструкции Ассемблера компилируется каждая строка кода. Никакого необоснованного увеличения кода там нет.
avatar
Хм… проверил стандартный чих «Hello, world!». Исполняемый файл 960 байт, msvcrt не требует.
avatar
Ну покажите разницу в размере в 100 раз на конкретном примере, мы же об этом. А то всё какие-то утверждения бездоказательные.
avatar
Так это итак часть Windows, и часть API, которую использует код C/C++. Именно благодаря этому API можно не меняя ни 1 строки в коде C/C++ пересобрать программу под любую ОС и процессор, для которых есть стандартный компилятор C/C++ — и она при этом будет работать. На Ассемблере же это в принципе невозможно. Начиная с разных наборов команд у разных процессоров, разных имен регистров (хотя это и можно попробовать реализовать макросами — но практика показывает что это будет очередной кривоватый велосипед который постоянно будет переделываться, без синхронизации изменений макросов для всех платформ, что будет порождать кучу глюков, ибо типизации в Ассемблере можно сказать что нет), разных API в разных ОС, разных размеров данных и заканчивая вишенкой на торте — разными соглашениями о вызове — все это потребует переделать код на Ассемблере чуть менее чем полностью под каждую ОС и платформу.
avatar
Ну так покажите, раз уж все было сделано. Всего-то взять Ассемблер и собрать под новую ОС то, что уже было сделано в 80-х… там же просто API.
avatar
Давайте возьмем конкретный пример. Например, встраиваемую СУБД SQlite3. Размер DLL — 940 кБ. Не покажете версию на Ассемблере с похожим функционалом, и чтобы в 10 кБ влезло?
avatar
Вы уж определитесь: то API одно и то же, то какие-то претензии к коду, реализующему этот самый API…