|
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
|
|
В чём писать?30.07.2013, 17:06. Показов 9625. Ответов 96
Метки нет (Все метки)
Всем привет, только начал изучения c++, подскажите в какой среде лучше начинать изучение? подходит ли для старта MSVS?
0
|
|
| 30.07.2013, 17:06 | |
|
Ответы с готовыми решениями:
96
Как лучше учиться: писать консольные приложения или оконные? И если писать оконные, то на чём лучше? На чем писать? На чем писать игру 2048 |
|
1 / 1 / 0
Регистрация: 30.07.2013
Сообщений: 15
|
||
| 01.08.2013, 13:51 | ||
|
Ещё должна быть привычка при отказе от CRT вызывать в конце ExitProcess(0);. Просто должна. Всем должна. Если хотите ну прям вообще мелкий EXE сделать, то выкиньте исключения и слепите всё в одну секцию и будет вам 1024 байта (наверное).
0
|
||
|
|
||||||
| 01.08.2013, 14:19 | ||||||
|
Это весит 2560 байт. (пардон, что не на С++)
0
|
||||||
|
Higher
|
|
| 01.08.2013, 14:41 | |
|
А зачем вообще гоняться за размером? Для этих целей все-таки есть си/ассемблер.
Просто очень многие оптимизации (такие как инлайнинг, построение таблицы всех возможных значений и т.п.) жертвуют размером бинаря, но при этом существенно увеличивают перформанс. Например. Там почему-то вставилась битая ссылка, вот еще одна. По асмовыхлопу видно, что оптимизация пожрала много места, зато ответ выдается мгновенно.
0
|
|
|
1 / 1 / 0
Регистрация: 30.07.2013
Сообщений: 15
|
|||||||
| 01.08.2013, 15:17 | |||||||
0
|
|||||||
|
|
|
| 01.08.2013, 15:31 | |
|
iel, Во! Вот это дело! Я тоже думал, чтобы не сохранять хэндл, а сразу отправлять из eax в стек.
Но решил, что это выигрыша в размере не даст. Кто бы мог подумать, что это вдвое уменьшит размер? Добавлено через 6 минут проверил - размер не поменялся. 2560 кБ а не-не не ВИЖУ! 1536 Байт Тут оказывается фишка не в экономии на лишнем mov stdout, eax А как это так программа без секции данных?
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
| 01.08.2013, 15:45 | ||||||
|
Раз пошла такая пьянка, 512 байт, используются прерывания (код не мой):
Но это уже и вправду на меряние достоинством похоже.
0
|
||||||
|
|
||
| 01.08.2013, 16:00 | ||
|
При попытке скопировать туда другие данные всё крашится! например (mov byte ptr[msg], 20h ) Добавлено через 3 минуты Привет, Nameless One, я смотрю, ты вечно стремишься под другую Ось написать - то под Linux, то под DOS. Пиши сразу под какой-нибудь простейший микроконтроллер! - ещё меньше выйдет! Добавлено через 11 минут Под досом Hello World занимает действительно порядка 500 байт. Но у нас же не Дос, не Линукс и не прочие системы, а винда!
0
|
||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||
| 01.08.2013, 16:03 | |||
|
Kuzia domovenok, где я что-то под DOS писал? У меня DOS'а нет.
А вот ты ведешь себя так, как будто над тобой в детстве линуксоиды издевались (вместе с лисперами), и у тебя теперь тяжёлая моральная травма.
0
|
|||
|
|
|||
| 01.08.2013, 16:12 | |||
|
Раз предлагаешь другую программу, сразу оговаривайся, что писалась она под другую систему. Мы же начали с того, что компиляторы сравнивали. Ну вот и выходит, что у одной и той же программы в ДОСе будет экзешник одного размера, в Лине другого, в прочих системах третьего. И совершенно неверно говорить, что из одной проги бинарник получается меньше, чем из другой, если проги предназначены для разных платформ. Это тёплое с мягким... Добавлено через 3 минуты Нельзя показать сборку ХеллоВорлда с помощью gcc под Линем и заключить, что gcc делает меньшие экзешники, чем msvs. Т.к. под виндой он будет строить наоборот большие.
0
|
|||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||
| 01.08.2013, 16:23 | |||||
|
В любом случае, это гораздо лучше потрясающе компетентных заявлений, что GCC генерирует бинарник в «В ПОЛСОТНИ (!) раз больше, чем вижуал студия!».
0
|
|||||
|
|
||||||||
| 01.08.2013, 16:43 | ||||||||
0
|
||||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||
| 01.08.2013, 17:03 | |||||
|
Я, видя такую грубую ошибку, решил разъяснить тебе, что размер бинарника сильно зависит от опций компиляции (заметь, без заявлений типа «ОЛОЛО GCC круче MSVS»). В качестве доказательств я привел скрины, на которых видны опции, передаваемые компилятору (чтобы ты сам мог у себя проверить, т.к. GCC, судя по всему, у тебя установлен), а также размер получаемого бинарника. На Windows по понятным причинам я не проверял, но я уверен, что размер там получится не сильно больший. Далее я вспомнил про другие факторы, влияющие на размер бинарника, а именно, разрядность ОС и версия компилятора, о чем и указал в следующем сообщении. Т.к. у меня система 64-разрядная, а подходящих виртуалок нет, я показал скриншот сессии jslinux, на котором видна разрядность ОС (архитектура i586 — вывод uname -a — значит, разрядность 32 бита) и версия GCC (4.3 — вывод gcc --version). Опять же, слов «ОЛОЛО GCC генерирует бинарник меньше 8 Кб» в этом сообщении нет. Так что мною двигало только желание просветить тебя в этом вопросе. Я понятно объяснил свою мысль?
0
|
|||||
|
|
||||
| 01.08.2013, 17:52 | ||||
|
0
|
||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||
| 01.08.2013, 18:08 | ||||
|
А ты, как я вижу, продолжаешь делать необоснованные заявления. Так держать!
0
|
||||
| 01.08.2013, 19:08 | |||||||
0
|
|||||||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
|
| 01.08.2013, 19:39 | |
|
Кузя, да успокойся ты уже:
0
|
|
|
1 / 1 / 0
Регистрация: 30.07.2013
Сообщений: 15
|
||||||||
| 01.08.2013, 23:14 | ||||||||
|
int 80h - linux sysenter - windows/linux Прерывания (int) в ring3 используются, чтобы перейти из этого ring3 в ring0, выполнить системную функцию и вернуться обратно в ring3. DOS работал в реальном режиме в отличие от современных ОС, работающих в защищённом. Как бы вообще гигантская разница. Начиная с 3-го пентиума (вроде) появилась инструкция "sysenter" для той же задачи (Windows XP, Linux 2.6?). Так что [допустил грубую ошибку], Кузя. Признай это. Нафига оффтоп развели, создали бы тему "У кого меньше бинарник" и там бы мерялись.
1
|
||||||||
| 01.08.2013, 23:14 | |
|
Помогаю со студенческими работами здесь
97
Хочу писать в блокноте, чем компилировать? На чем писать игры, изучив основы C++? В чем писать? На чём писать GUI На чем писать почтовый клиент Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|