Четверг, 25 Апреля 2024, 06:48

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Программирование » C/C++ » MinGW (GCC) - большой размер исполняемого файла. (На виндах - 70кбайт, в то время как на линуксе - 7кб)
MinGW (GCC) - большой размер исполняемого файла.
SkyScraperДата: Понедельник, 24 Июня 2013, 12:09 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Windows (MinGW-w64): В общем, компилирую простое C++ (точнее C) приложение с выводом в консоль, MessageBox Win32 API: g++ main.cpp -o main
У обеих исполнялок размер - 70кбайт при том, что вместо русских букв выводятся кракозябры.

Linux (GCC): В общем, компилирую простое C++ (точнее C) приложение с выводом в консоль, GLFW/SDL hello world: g++ main.cpp -o main -lglfw3/-lSDL
У обеих исполнялок размер - 7кбайт при том, что вместо русских букв выводятся нормальные русские буквы. Если собрать как 32-битное приложение (-m32), размер около 4кбайт.

Вопрос: почему?


Меня оскорбляет GC-Vic. См. историю репутации
GameLoperДата: Понедельник, 24 Июня 2013, 12:35 | Сообщение # 2
Нуб в гейм-деве
Сейчас нет на сайте
Потому что Win32 Api даёт больше размер чем SDL,не веришь проверь создай Win32api и sdl приложение на Windows

Single of game tycoon = 10%
IzaronДата: Понедельник, 24 Июня 2013, 12:39 | Сообщение # 3
Rammstein forever
Сейчас нет на сайте
Цитата (GameLoper)
Потому что Win32 Api даёт больше размер чем SDL

Ты че гонишь ваще? 0_о
SDL - это GAPI, он предназначен для рисования. И неважно на чем рисуем - в консольном приложении или в WinAPI
GameLoperДата: Понедельник, 24 Июня 2013, 12:45 | Сообщение # 4
Нуб в гейм-деве
Сейчас нет на сайте
Цитата (Izaron)

SDL - это GAPI, он предназначен для рисования. И неважно на чем рисуем - в консольном приложении или в WinAPI

Тогда сори ...

Добавлено (24.06.2013, 12:45)
---------------------------------------------
Токо ты забыл что содержание инкулида встраивается в приложение..
Может SDL функций меньше ,чем WIN32 API(WIN32API в инкулиде windows.h)


Single of game tycoon = 10%
SkyScraperДата: Понедельник, 24 Июня 2013, 13:22 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Цитата (Izaron)
SDL - это GAPI, он предназначен для рисования.

не только.

Цитата (GameLoper)
Может SDL функций меньше ,чем WIN32 API(WIN32API в инкулиде windows.h)

консольная программа в Windows весит в 10 раз больше


Меня оскорбляет GC-Vic. См. историю репутации
IzaronДата: Понедельник, 24 Июня 2013, 13:34 | Сообщение # 6
Rammstein forever
Сейчас нет на сайте
Цитата (GameLoper)
Токо ты забыл что содержание инкулида встраивается в приложение.. Может SDL функций меньше ,чем WIN32 API(WIN32API в инкулиде windows.h)

Отнюдь нет.
Код
int main() {}

И
Код
#include <windows.h>
int main() {}


Весят одинаково.

Советую ТС проверить, под какую конфигурацию он компилит. У меня
Код
int main() {}
(под 64-битную винду) в дебаге компилит 30 кб, а в релизе 7 кб.

Добавлено (24.06.2013, 13:32)
---------------------------------------------

Цитата (SkyScraper)
не только.

Ну не спорю, проверка ввода тоже есть

Добавлено (24.06.2013, 13:34)
---------------------------------------------

Цитата (SkyScraper)
консольная программа в Windows весит в 10 раз больше

Может, у меня глюки, но WinAPI программа
Код
#include <Windows.h>

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
  return 0;
}

весит в дебаге и релизе соответственно 30кб и 7кб, как и консоль.
SkyScraperДата: Понедельник, 24 Июня 2013, 13:35 | Сообщение # 7
почетный гость
Сейчас нет на сайте
Цитата (Izaron)
(под 64-битную винду) в дебаге компилит 30 кб, а в релизе 7 кб.

Visual Studio? Он же проприетарный.


Меня оскорбляет GC-Vic. См. историю репутации
GameLoperДата: Понедельник, 24 Июня 2013, 13:36 | Сообщение # 8
Нуб в гейм-деве
Сейчас нет на сайте
Цитата (Izaron)
Может, у меня глюки, но WinAPI программа

Да глюки biggrin


Single of game tycoon = 10%
IzaronДата: Понедельник, 24 Июня 2013, 13:38 | Сообщение # 9
Rammstein forever
Сейчас нет на сайте
Цитата (GameLoper)
Да глюки

Отослать в ЛС билды?
SkyScraperДата: Понедельник, 24 Июня 2013, 13:38 | Сообщение # 10
почетный гость
Сейчас нет на сайте
Код
#include <windows.h>  

int WinMain(HINSTANCE,HINSTANCE,LPSTR,int)  
{  
   MessageBox(0,"Hello, мир","Разраз Onetwo",MB_OK);  
   return 0;  
}

такой код весит 70 кбайт (g++ main.cpp -o main), если с ключом -s, то 30 с чем-то кбайт (g++ main.cpp -o main -s)


Меня оскорбляет GC-Vic. См. историю репутации
IzaronДата: Понедельник, 24 Июня 2013, 13:39 | Сообщение # 11
Rammstein forever
Сейчас нет на сайте
Цитата (SkyScraper)
Visual Studio? Он же проприетарный.

А мне норм

Добавлено (24.06.2013, 13:39)
---------------------------------------------
Dev-C++ меня не устраивает

SkyScraperДата: Понедельник, 24 Июня 2013, 13:40 | Сообщение # 12
почетный гость
Сейчас нет на сайте
Цитата (Izaron)
А мне норм

ты купил ее?

Добавлено (24.06.2013, 13:40)
---------------------------------------------

Цитата (Izaron)
Dev-C++ меня не устраивает

это редактор кода.


Меня оскорбляет GC-Vic. См. историю репутации
GameLoperДата: Понедельник, 24 Июня 2013, 13:41 | Сообщение # 13
Нуб в гейм-деве
Сейчас нет на сайте
тут введется разговор о MinGW, а каждый компилятор ,компилирует по разному,
Так что Izaron в visual studio может так ,а в Mingw по другому !


Single of game tycoon = 10%
IzaronДата: Понедельник, 24 Июня 2013, 13:42 | Сообщение # 14
Rammstein forever
Сейчас нет на сайте
Цитата (SkyScraper)
ты купил ее?

А тебе какая разница? У тебя винда/фотошоп/ворд/etc. лицензионные?

Спросил бы еще, подтираю ли очко бумагой

Добавлено (24.06.2013, 13:42)
---------------------------------------------

Цитата (SkyScraper)
при том, что вместо русских букв выводятся кракозябры.

Кста, setlocale(0,"Russian"); пробовал?
GameLoperДата: Понедельник, 24 Июня 2013, 13:43 | Сообщение # 15
Нуб в гейм-деве
Сейчас нет на сайте
Цитата (Izaron)
А тебе какая разница? У тебя винда/фотошоп/ворд/etc. лицензионные?

ну у меня все игры лицензионные ,так что есть в России не тока халявщике


Single of game tycoon = 10%
SkyScraperДата: Понедельник, 24 Июня 2013, 13:44 | Сообщение # 16
почетный гость
Сейчас нет на сайте
Цитата (Izaron)
А тебе какая разница?

к тебе уже выехали.

Цитата (Izaron)
У тебя винда/фотошоп/ворд/etc. лицензионные?

Винда временно стоит, GIMP, LibreOffice, etc - да.


Меня оскорбляет GC-Vic. См. историю репутации
GameLoperДата: Понедельник, 24 Июня 2013, 13:44 | Сообщение # 17
Нуб в гейм-деве
Сейчас нет на сайте
Цитата (Izaron)
Кста, setlocale(0,"Russian"); пробовал?

я использую setlocale(LC_ALL,"rus");


Single of game tycoon = 10%
SkyScraperДата: Понедельник, 24 Июня 2013, 13:45 | Сообщение # 18
почетный гость
Сейчас нет на сайте
Цитата (Izaron)
Спросил бы еще, подтираю ли очко бумагой

что так грубо?

Цитата (Izaron)
Кста, setlocale(0,"Russian"); пробовал?

нет, это гемор. Тo есть MinGW собирает не-UTF8 приложение?


Меня оскорбляет GC-Vic. См. историю репутации
OpenGOOДата: Понедельник, 24 Июня 2013, 13:45 | Сообщение # 19
почти ветеран
Сейчас нет на сайте
сделай так
Код
g++ main.cpp -o main -s

размер должен уменьшиться в несколько раз


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
IzaronДата: Понедельник, 24 Июня 2013, 13:46 | Сообщение # 20
Rammstein forever
Сейчас нет на сайте
Цитата (SkyScraper)
Винда временно стоит, GIMP, LibreOffice, etc - да.

Ну тогда и у меня Вижуал Студио лицензионный, вопрос закрыт.

Цитата (GameLoper)
я использую setlocale(LC_ALL,"rus");

LC_ALL = 0, если что.
Форум игроделов » Программирование » C/C++ » MinGW (GCC) - большой размер исполняемого файла. (На виндах - 70кбайт, в то время как на линуксе - 7кб)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг