powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / неиспользуемые классы
13 сообщений из 13, страница 1 из 1
неиспользуемые классы
    #32677867
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использую MinGW.
какой-то не последней версии.

заметил, что при добавлении в хидеры проекта новых классов, увеличивается размер исполняемого файла, хотя ни одного экзэмпляра класса я в программе не создаю.
подозреваю, что если я вынесу реализацию методов в cpp файл, то компилятор не будет их включать, но меня это не устраивает принципиально.
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32677954
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно вопрос.
как сделать чтобы компилятор не компилировал неиспользуемые классы.
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32678505
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ключи, используемые при компиляции, в студию.
=====
Cat и его покойный друг Chicago
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32678522
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нету ключей то особенно
вот makefile
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
INCLUDES=-I./../../../common++ -Ie:/mingw/include/stlport
LIBRARIES=-lstlport -lgdi32
DEFINES=-D__WIN_OS -D__WIN32__ -D__MINGW__ -DWIN32
SOURCES=main.cpp
EXECUTABLE=tyGui.exe
all:
	g++ $(SOURCES) $(DEFINES) $(INCLUDES) $(LIBRARIES) -o $(EXECUTABLE)
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32678528
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ехе файл получается 344 килобайта. с оптимизацией -O3 суток поменьше, килобайт на 5.
strip -s
до 170 уменьшает.
но всеравно...
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32679079
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kехе файл получается 344 килобайта. с оптимизацией -O3 суток поменьше, килобайт на 5.
strip -s
до 170 уменьшает.
но всеравно...

да ладно , вон у меня проекты на билдере по два мега екзешники весять ,
и ничего не жалуюсь
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32679624
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да я не на размер жалуюсь.
я жалуюсь на то, что при добавлении в используемый хидер нового класса с реализацией методов, размер исполняемого файла увеличивается. хотя добавленный класс никак не используется...
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32680735
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А размер после стрипа тоже увеличивается сразу после добавления или нет? Как-то этот момент я не понял. Ты стрипанутые экзешники сравнивай.
=====
Cat и его покойный друг Chicago
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32681559
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kзаметил, что при добавлении в хидеры проекта новых классов, увеличивается размер исполняемого файла, хотя ни одного экзэмпляра класса я в программе не создаю.
подозреваю, что если я вынесу реализацию методов в cpp файл, то компилятор не будет их включать, но меня это не устраивает принципиально.

Будет увеличиваться. Это тебе не JAVA, а нормальный компилируемый язык. Максимум за что ты можешь бороться, это за то, чтобы линкер выбрасывал код, который никогда в твоей программе не используется. Как это делать и может ли линкер это делать - зависит от того, какой линкер.

Если ты включаешь реализацию в заголовок, то твой код, если он inline, и если даже не inline, будет включаться в текст (не исходный, а объектный) КАЖДОГО объектного модуля, исходник которого включает этот твой заголовок. Если это не было целью выноса реализации в заголовок, то вряд ли это (вынос) стоит делать.
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32682334
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivМаксимум за что ты можешь бороться, это за то, чтобы линкер выбрасывал код, который никогда в твоей программе не используется. Как это делать и может ли линкер это делать - зависит от того, какой линкер.

это и есть моя цель :-)

MasterZiv
Если ты включаешь реализацию в заголовок, то твой код, если он inline, и если даже не inline, будет включаться в текст (не исходный, а объектный) КАЖДОГО объектного модуля, исходник которого включает этот твой заголовок. Если это не было целью выноса реализации в заголовок, то вряд ли это (вынос) стоит делать.
целью было упрощение использования.
подключаю только хидер, который лежит в include и не думаю больше ни о чем.
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32682335
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yet another catА размер после стрипа тоже увеличивается сразу после добавления или нет? Как-то этот момент я не понял. Ты стрипанутые экзешники сравнивай.

вот пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
#include <system/aksystems.h>
#include <system/akthreads.h>
int main(int argc,char ** argv) 
{
 return  0 ;
} 
дает 87040 байт после strip -s

а этот:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 //#include <system/aksystems.h> 
 //#include <system/akthreads.h> 

int main(int argc,char ** argv) 
{
 return  0 ;
} 
дает 5120 байт после strip -s

но программа как ничего не делала, так ничего и не делает...
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32683513
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k
целью было упрощение использования.
подключаю только хидер, который лежит в include и не думаю больше ни о чем.

Если ты пишешь на C++ , то думать все же придется.
...
Рейтинг: 0 / 0
неиспользуемые классы
    #32683685
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Если ты пишешь на C++ , то думать все же придется.
спасибо за полезный, конструктивный ответ.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / неиспользуемые классы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]