Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Подключение библиотек - C++
Здравствуйте! Проблема: не могу подключить новые библиотеки! Имею VS 2010 Ultimate ! кликаю: сервис->параметры->проекты и...

Подключение библиотек - C++
Здравствуйте. Подскажите пожалуйста почему при попытке подключить к программе библиотеки <stdlib.h> и <conio.h> выдаётся ошибка (выдаётся...

Подключение библиотек - C++
Доброго времени суток %username% !!! Изучаю С++ не очень долго и возник такой вопрос. Необходимо подключить библиотеку <string> в класс....

подключение библиотек - C++
доброго времени суток #pragma comment(lib, "GLU32.lib") как понять из какой папки программа будет брать данную библиотеки, тоесть из...

Подключение библиотек - C++
c:\documents and settings\admin\рабочий стол\compressed_matrix\compressed_matrix\main.cpp(4) : fatal error C1083: Не удается открыть файл...

Подключение библиотек - C++
Здравствуйте ув. форумчане.Я пишу программы c++ на notepad++.Возможно ли добавить библиотеки такие как sfml,opengl,и т.д ?Про visual studio...

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

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

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

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

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

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

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

всё верно? есть ещё какие то дополнения по этим данным?
0
21.09.2013, 13:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 13:22
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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