Форум программистов, компьютерный форум CyberForum.ru

Подключение неиспользуемых библиотек - C++

Восстановить пароль Регистрация
 
vovkasm
 Аватар для vovkasm
2 / 2 / 0
Регистрация: 21.09.2013
Сообщений: 68
21.09.2013, 08:48     Подключение неиспользуемых библиотек #1
Что будет, если я подключаю библиотеки, но не использую их. Какие последствия?) снизили балл за такое незнание на лабе
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 08:48     Подключение неиспользуемых библиотек
Посмотрите здесь:

Подключение библиотек C++
C++ Подключение библиотек
C++ подключение библиотек taglib
C++ подключение библиотек include
Подключение библиотек C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11804 / 6783 / 767
Регистрация: 27.09.2012
Сообщений: 16,838
Записей в блоге: 2
Завершенные тесты: 1
21.09.2013, 08:55     Подключение неиспользуемых библиотек #2
Цитата Сообщение от vovkasm Посмотреть сообщение
подключаю библиотеки
какие?
Tarlis
 Аватар для Tarlis
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 12
21.09.2013, 09:19     Подключение неиспользуемых библиотек #3
Эстетика + ты используешь, то чего не знаешь/недоконцапонимаешь, следовательно, не контролируешь свой код, и если в случае чего врят ли сможешь его отладить (зря потратишь чужое время) + дополнительная нагрузка на препроцессор... Нам препод примерно так объяснял...
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11804 / 6783 / 767
Регистрация: 27.09.2012
Сообщений: 16,838
Записей в блоге: 2
Завершенные тесты: 1
21.09.2013, 09:21     Подключение неиспользуемых библиотек #4
Цитата Сообщение от Tarlis Посмотреть сообщение
дополнительная нагрузка на препроцессор
Каким макаром?
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
21.09.2013, 09:26     Подключение неиспользуемых библиотек #5
Цитата Сообщение от Croessmah Посмотреть сообщение
Каким макаром?
Легко. Утверждение про препроцессор — это плод заблуждения о том, что строка #include <something> подключает библиотеку.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11804 / 6783 / 767
Регистрация: 27.09.2012
Сообщений: 16,838
Записей в блоге: 2
Завершенные тесты: 1
21.09.2013, 09:31     Подключение неиспользуемых библиотек #6
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
#include <something> подключает библиотеку.
Но, думаю, ТС имеет ввиду именно библиотеки, а не включение файлов препроцессором.

Но надо бы уточнить так ли это, плюс узнать какие библиотеки имеются ввиду.
vovkasm
 Аватар для vovkasm
2 / 2 / 0
Регистрация: 21.09.2013
Сообщений: 68
21.09.2013, 10:24  [ТС]     Подключение неиспользуемых библиотек #7
объясняю всё

Есть модуль который отрисовывает квадрат с помощью GDI.
Подключаю библиотеки widnows.h и windowsx.h

Есть модуль который считывает данные в структуры POINT, HBRUSH, HPEN и в этом модуле тоже подключены вышеупомянутые библиотеки. Но одна из них не нужна. Вот и хочу узнать, что такого в том что я подключаю библиотеку, которая не нужна.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.09.2013, 11:05     Подключение неиспользуемых библиотек #8
vovkasm, *.h - это не библиотеки. Это заголовочные файлы, в которых описываются прототипы функций, в частности. Подключать те файлы, функции (или другие сущности) из которых в коде не используются, бессмысленно. Лишние строки кода, которые, впрочем, не должны сказаться на итоговой эффективности программы.
vovkasm
 Аватар для vovkasm
2 / 2 / 0
Регистрация: 21.09.2013
Сообщений: 68
21.09.2013, 11:27  [ТС]     Подключение неиспользуемых библиотек #9
Tulosba, Т.е. только лишние строки кода? тогда если я в проге, которая просто выводит слово, подключу <vector> <string> <list> <algorithm> <iostream> и т.д. ничего не измениться?

а если я генерирую 10,000,000 кодов длиной n символов и некоторыми условиями, время работы при подключении и не использовании вышеупомянутых не увеличится?
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.09.2013, 11:44     Подключение неиспользуемых библиотек #10
Цитата Сообщение от vovkasm Посмотреть сообщение
Tulosba, Т.е. только лишние строки кода? тогда если я в проге, которая просто выводит слово, подключу <vector> <string> <list> <algorithm> <iostream> и т.д. ничего не измениться?
Если функция не вызывается (и это видно на этапе компиляции), ее код не попадет в итоговый бинарный файл. Конечно, если речь не о создании библиотеки

Цитата Сообщение от vovkasm Посмотреть сообщение
а если я генерирую 10,000,000 кодов длиной n символов и некоторыми условиями, время работы при подключении и не использовании вышеупомянутых не увеличится?
Не очень понятен вопрос. Если речь о том, как повлияет лишний код на процедуру сборки, то, конечно, она будет более длительной. Но не факт, что заметна на глаз.
Tarlis
 Аватар для Tarlis
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 12
21.09.2013, 12:12     Подключение неиспользуемых библиотек #11
Цитата Сообщение от Croessmah Посмотреть сообщение
Но, думаю, ТС имеет ввиду именно библиотеки, а не включение файлов препроцессором.

Но надо бы уточнить так ли это, плюс узнать какие библиотеки имеются ввиду.
Я пока к сожалению чайник в вопросах программирования, но исходя из документации пришёл к выводу что все что я подключаю грузит препроцессор
Или я что-то недопонял?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 13:22     Подключение неиспользуемых библиотек
Еще ссылки по теме:

подключение библиотек C++
Подключение библиотек в GUI C++
C++ Подключение библиотек

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
vovkasm
 Аватар для vovkasm
2 / 2 / 0
Регистрация: 21.09.2013
Сообщений: 68
21.09.2013, 13:22  [ТС]     Подключение неиспользуемых библиотек #12
Tulosba,
теперь уловил:
1. Длиннее код
2. Процедура сборки дольше, но не существенно.
3. Если функция не вызывается, то её код не компилируется(не попадает в код бинарный), а значит это просто лишняя строчка(подключения)

всё верно? есть ещё какие то дополнения по этим данным?
Yandex
Объявления
21.09.2013, 13:22     Подключение неиспользуемых библиотек
Ответ Создать тему
Опции темы

Текущее время: 16:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru