Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Маленькая программка с ShowMessage, например, как?? у меня выходит больше 150 кб =( 
:(
    Опции темы
Elfet
Дата 31.10.2004, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Как сделать маленькую программку, чтоб она например просто вызывала ShowMessage ??
У меня получилось >150кб :(


--------------------
PM MAIL WWW Skype   Вверх
S.A.P.
Дата 31.10.2004, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Elfet а на чем ты пишешь?
Если на VC++ то меняй параметры компиляции с Debug на Release.
PM MAIL   Вверх
Elfet
Дата 31.10.2004, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



на Microsoft Visual Studio .NET :)
Добавлено @ 19:15
Цитата(Perchilla @ 31.10.2004, 19:49)

Если на VC++ то меняй параметры компиляции с Debug на Release.

Это как? :)
Добавлено @ 19:16
а, всё, вроде нашел :qstn
Добавлено @ 19:16
108 кб :)


--------------------
PM MAIL WWW Skype   Вверх
S.A.P.
Дата 31.10.2004, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Пиши на NET или MFC. Будет меньше :) .
PM MAIL   Вверх
bel_nikita
Дата 1.11.2004, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47



А про оптимизацию забыли :( Еще нужно в Optimization выставить Minimize Size. :rtfm


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
Elfet
Дата 1.11.2004, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(bel_nikita @ 1.11.2004, 02:01)

А про оптимизацию забыли  Еще нужно в Optimization выставить Minimize Size. 


что то не помогло =) скоко было - стоко осталось ,или может я что-то сделал =)



--------------------
PM MAIL WWW Skype   Вверх
S.A.P.
Дата 1.11.2004, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Elfet проследи, чтобы оптимизация устанавливалась для твоего режима компиляции.
PM MAIL   Вверх
bel_nikita
Дата 1.11.2004, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47



а можно на прямую вставить
Цитата

#pragma optimize("s", on)
...
наш код
...
#pragma optimize("s", off)
:cool



--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
xDriver
Дата 1.11.2004, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.11.2004

Репутация: 1
Всего: 1



Маленкую программу на Builder`е сделать не получится это БОРМАНД.


PM MAIL   Вверх
Goldberg
Дата 1.11.2004, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 3.6.2004

Репутация: нет
Всего: нет



Цитата(xDriver @ 1.11.2004, 18:07)
Маленкую программу на Builder`е сделать не получится это БОРМАНД.

Он вроде как Microsoft Visual Studio .NET использует.;-)

Это сообщение отредактировал(а) Goldberg - 1.11.2004, 18:14
--------------------
Вот такая у меня привычка, браться за задание, о выполнение которого я изначально не имею никакого представления.
PM MAIL ICQ   Вверх
Elfet
Дата 1.11.2004, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(Goldberg @ 1.11.2004, 19:13)

Он вроде как Microsoft Visual Studio .NET использует.


угу, но и на Builder`е тоже пытался это сделать =)




уже дошел до 68кб :)


--------------------
PM MAIL WWW Skype   Вверх
xDriver
Дата 1.11.2004, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.11.2004

Репутация: 1
Всего: 1



Блин на VC 6.0 вот так:

#pragma comment(linker,"/MERGE:.rdata=.text")
#pragma comment(linker,"/FILEALIGN:512 /SECTION:.text,EWRX /IGNORE:4078")
#pragma comment(linker,"/ENTRY:WinMain")


int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int)
{

MessageBox(0,"Ну очень маленькая","Маленькая прожка:)",0);
return 0;
}


размер 2048k :p
PM MAIL   Вверх
S.A.P.
Дата 1.11.2004, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Цитата(xDriver @ 1.11.2004, 22:58)

2048k

И что? Это маленький размер считается?
Добавлено @ 23:04
xDriver че то не компилица
Цитата
fatal error C1010: unexpected end of file while looking for precompiled header directive


PM MAIL   Вверх
bel_nikita
Дата 1.11.2004, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47



Perchilla
Цитата
xDriver че то не компилица

вставь: #include <windows.h> :)

Цитата
размер 2048k

2048 байт - опечатался человек


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
S.A.P.
Дата 1.11.2004, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Цитата(bel_nikita @ 1.11.2004, 23:47)

вставь: #include <windows.h> 

да нет :) стоит у меня <windows.h> :)
PM MAIL   Вверх
bel_nikita
Дата 1.11.2004, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47



Perchilla
Цитата
да нет  стоит у меня <windows.h>
и не компилится?


Цитата
fatal error C1010: unexpected end of file while looking for precompiled header directive

а, ну понятно:
тогда зайди в Project/Settings/Precompiled Headers и выстать Not Using Precompiled Headers :cool


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
S.A.P.
Дата 2.11.2004, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Вау!!! У меня вобще один килобайт вышел :yasno
PM MAIL   Вверх
S.A.P.
Дата 2.11.2004, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Блин, обалдеть, у меня на асме 4 килобайта выходило. А еще меньше сделать можно?
PM MAIL   Вверх
Step
Дата 2.11.2004, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 5
Всего: 25



в первую очередь надо выставить динамическо подключение библиотек

второе для релиз версии отключить внедрение дебаг инфы..

третье оптимизация по размеру


любая простейшая программа на МФЦ в релиз версии очень редко выходит за размер 30 кб и выходит она только из за рессурсов

на асме подобная программа не должна выходить за 600 байт....., и не может быть меньше 512 байт....






--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
xDriver
Дата 2.11.2004, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.11.2004

Репутация: 1
Всего: 1



Да ивиняюсь забыл :D #include <windows.h>
И компилить только Release проект !!! Debug работать не будет !!

Ну и конечно опечатался размер 2048 байт ! ;-) ;-)
респект Perchilla
PM MAIL   Вверх
S.A.P.
Дата 2.11.2004, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



Цитата(xDriver @ 2.11.2004, 13:07)

респект Perchilla

Это что ты типа посмеялся надо мной? :)
PM MAIL   Вверх
Атос
Дата 6.11.2004, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 11.9.2004
Где: Екатеринбург

Репутация: нет
Всего: нет



1024 байта в Release версии:

Код

#pragma comment(linker,"/MERGE:.rdata=.text")
#pragma comment(linker,"/ENTRY:WinMain")

#include "windows.h"

int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int)
{
MessageBox(0,"Ну очень маленькая","Маленькая прожка",0);
return 0;
}

PM MAIL ICQ   Вверх
Атос
Дата 6.11.2004, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 11.9.2004
Где: Екатеринбург

Репутация: нет
Всего: нет



для сравнения - тот же код на ассемблере:

Код

; выдем из проги по ret 0, не по стандартному ExitProcess
; чтобы сэкономить 64 байта на вызове ExitProcess
; и 48 байтов на имортировании ExitProcess

;includelib kernel32.lib
; extrn __imp__ExitProcess@4:dword
;ExitProcess equ __imp__ExitProcess@4

includelib user32.lib
extrn __imp__MessageBoxA@16:dword
MessageBox equ __imp__MessageBoxA@16

.386
.model flat

.const
msg_title db "Маленькая прожка", 0
msg_text db "Ну очень маленькая", 0

.code
_start:
push 0
push offset msg_title
push offset msg_text
push 0
call MessageBox

;push 0                  ; если ExitProcess() вместо ret 0, то размер 736 байт
;call ExitProcess
ret 0
end _start


сборка:
Код

ml /c /coff /Cp /Zp1 msgbx.asm
link msgbx.obj /subsystem:windows /align:16 /merge:.rdata=.text


...занимает 624 байта.... так что асм форева! smile

Это сообщение отредактировал(а) Атос - 6.11.2004, 11:54
PM MAIL ICQ   Вверх
knave
Дата 12.11.2004, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 6.3.2003
Где: Санкт-Питербург ( Россия)

Репутация: 1
Всего: 5



Смешно читать. Вы не забывате что елсилинкуете со статическими библиями то в вашу программу вставляеться весь код который обрабатывает ваше окно, тот же MessageBox.
Это окно такое же полноценное коно как и любое другое, несмотря на то что размеры мальнькие. Если хочеш узнать реальный размер твоей программы то потри obj файл от твоего исходника.Лиюо сделай компиляцию с ДЛЛ. ТОгда программа бдет весить примерно 30 килобайт. Но за ней рпидется всервемя таскать все необходимые ДЛЛ.

Так что хоть MessageBox хоть просто окно,весить будет одинаково - та как не надо забывать про код класса окна. Ведь все события что есть у него, кто то должен обрабатывать.

Это сообщение отредактировал(а) knave - 12.11.2004, 14:52


--------------------
С наилучшими пожеланиями !!!
PM MAIL ICQ   Вверх
S.A.P.
Дата 14.11.2004, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



knave не понял тебя, какие еще DLL нужны, если программа ничего не использует кроме стандартных функций из kernel, user и gdi ?
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1097 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.