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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vovkasm
2 / 2 / 0
Регистрация: 21.09.2013
Сообщений: 76
#1

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

21.09.2013, 08:48. Просмотров 554. Ответов 11
Метки нет (Все метки)

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

Подключение библиотек в GUI - C++
При написании GUI приложения, пишет: E2451 Undefined symbol 'string' Подключал библиотеку cstring - бесполезно, также ругается...

Подключение своих библиотек - C++
Ошибка: не удается открыть источник файл "mystruct.h". Все бы ничего, если бы не написал библиотеку, но я написал. MYSTRUCT.H ...

Подключение сторонних библиотек - C++
Я пишу в Visual Studio и в некоторый проектах использую SDL. У меня есть папка с библиотеками и инклудами SDL, я ее подключаю в...

Подключение библиотек include - C++
подскажите как включить include библиотеки (iostream,conio i t.d)

Подключение библиотек в Eclipse c++ - C++
Решил заняться OpenGL и сказал парочку библиотек. Решил добавить их в Eclipse и провалился. Дело в том, что я ни разу такое не делал. В...

Автоматическое подключение библиотек - C++
есть ли ide, в которых(при статической линковке) линкер подключает только нужное. или все и так это делают?

Подключение библиотек taglib - C++
Здраствуйте! Не знаю правильно ли ятему назвал. Вот короче какая у меня проблема: Решил я воспользоваться библиотекой taglib...

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

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

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

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

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

Цитата Сообщение от vovkasm Посмотреть сообщение
а если я генерирую 10,000,000 кодов длиной n символов и некоторыми условиями, время работы при подключении и не использовании вышеупомянутых не увеличится?
Не очень понятен вопрос. Если речь о том, как повлияет лишний код на процедуру сборки, то, конечно, она будет более длительной. Но не факт, что заметна на глаз.
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     Подключение неиспользуемых библиотек
Еще ссылки по теме:

CUDA, верное подключение библиотек - C++
Здравствуйте форумчане. Требуется помощь: Имеется код ниже. Но в нем есть библиотеки так как #include &lt;GL/glew.h&gt; #include...

Подключение библиотек lib и dll - C++
Здравствуйте. Подскажите, пожалуйста, как исправить такую ошибку: Ошибка 2 error LNK1104: не удается открыть файл &quot;opencv_core2411.lib&quot;....

Нужна помощь. Подключение библиотек Code::Blocks - C++
Доброго времени суток дамы и господа. Обращаюсь к за помощью. Облазил вес Гугл. Уже два месяца бьюсь и ничего не могу сделать. Как...

Помогите найти ошибку в коде. Подключение библиотек - C++
Помогите найти ошибку)) #include &lt;iostream&gt; using namespace std; int main() { float ab, bc; float ac; cout &lt;&lt; &quot;Vvedite...

Code::Blocks подключение библиотек для работы с графикой - C++
Взялся за графику, первая простенькая cpp с тремя строчками для настройки так сказать И сразу проблема. подключил модуль #include...


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

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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru