|
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
|
|
В чём писать?30.07.2013, 17:06. Показов 10273. Ответов 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
|
|||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|
| 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 | |
|
Хочу писать в блокноте, чем компилировать? На чем писать игры, изучив основы C++? В чем писать? На чём писать GUI На чем писать почтовый клиент Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|