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

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

Войти
Регистрация
Восстановить пароль
 
polimorf96
9 / 9 / 0
Регистрация: 02.08.2010
Сообщений: 270
#1

Почему включение сторонних библиотек не рекомендуется? - C++

11.11.2010, 20:12. Просмотров 964. Ответов 12
Метки нет (Все метки)

Почему нежелательно включать в программу под linux ну например ncurses.h (сторонняя популярная библиотека)? Почему нужно включать только библиотеки, идущие в состав компилятора?
Чем мне "угрожают" сторонние библиотеки? Зачем их тогда писать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2010, 20:12     Почему включение сторонних библиотек не рекомендуется?
Посмотрите здесь:

C++ Включение библиотек в исполняемый файл
C++ Как определять какие ключи компиляции необходимы при использовании сторонних библиотек?
C++ Использование сторонних библиотек
Подключение сторонних библиотек C++
C++ Почему не рекомендуется использовать препроцессор?
Отключение предупреждений при подключении сторонних библиотек C++
Как на с++(юникс) отправить http post запрос без сторонних библиотек C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
11.11.2010, 20:33     Почему включение сторонних библиотек не рекомендуется? #2
polimorf96, Отсутствием совместимости. Если не скачана библиотека на компьютер - не будет работать. Поэтому лучше пользоваться стандартными либами. Но это относительное лучше. Ведь бустом пользуються многие.
polimorf96
9 / 9 / 0
Регистрация: 02.08.2010
Сообщений: 270
11.11.2010, 20:49  [ТС]     Почему включение сторонних библиотек не рекомендуется? #3
Цитата Сообщение от ForEveR Посмотреть сообщение
polimorf96, Отсутствием совместимости. Если не скачана библиотека на компьютер - не будет работать. Поэтому лучше пользоваться стандартными либами. Но это относительное лучше. Ведь бустом пользуються многие.
Если не скачана библиотека на компьютер - не будет работать
нет ну если не скачена то понятное дело что работать не будет но а если я скачаю заголовочный файл и библиотеку ну например ncurses.h на комп и пропишу #include <ncurses.h> -где тут таится зло?
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
11.11.2010, 21:03     Почему включение сторонних библиотек не рекомендуется? #4
polimorf96, Исключительно в неследовании букве стандарта.
polimorf96
9 / 9 / 0
Регистрация: 02.08.2010
Сообщений: 270
11.11.2010, 21:09  [ТС]     Почему включение сторонних библиотек не рекомендуется? #5
Цитата Сообщение от ForEveR Посмотреть сообщение
polimorf96, Исключительно в неследовании букве стандарта.
если честно не совсем понял что за буква стандарта? Я язык то изучаю совсем недавно и про букву стандарта ничего не слышал
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
11.11.2010, 21:11     Почему включение сторонних библиотек не рекомендуется? #6
polimorf96, Стандарт С/С++. Поищите в инете. Собственно компиляторы поддерживают стандарт и в основном добавляют разные свои фишки.
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
12.11.2010, 07:08     Почему включение сторонних библиотек не рекомендуется? #7
Смысл этого в отсутствии портабельности программы
Если ты пишешь программу только под свой компьютер - можешь использовать все библиотеки что найдешь на нем

Зло в том что если ты принесешь свою программу на другой компьтер, где нет ncurses - то она не будет компилироваться.
А если принесешь в Windows - то там вообще ncurses не бывает насколько я знаю

Добавлено через 1 минуту
На самом деле любая более-менее сложная программа использует тонны библиотек, не входящих в стандартные C/C++.
Это нормально - нормальные программисты не хотят изобретать велосипед
polimorf96
9 / 9 / 0
Регистрация: 02.08.2010
Сообщений: 270
12.11.2010, 14:57  [ТС]     Почему включение сторонних библиотек не рекомендуется? #8
Цитата Сообщение от odip Посмотреть сообщение
Смысл этого в отсутствии портабельности программы
Если ты пишешь программу только под свой компьютер - можешь использовать все библиотеки что найдешь на нем

Зло в том что если ты принесешь свою программу на другой компьтер, где нет ncurses - то она не будет компилироваться.
А если принесешь в Windows - то там вообще ncurses не бывает насколько я знаю

Добавлено через 1 минуту
На самом деле любая более-менее сложная программа использует тонны библиотек, не входящих в стандартные C/C++.
Это нормально - нормальные программисты не хотят изобретать велосипед
стоп-так кажется команда #include <name.h> при компилировании включает в программу всю библиотеку как-бы "копируя " код из name.h ? Или я что-то путаю?
silent_1991
Эксперт С++
4951 / 3027 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
12.11.2010, 15:35     Почему включение сторонних библиотек не рекомендуется? #9
А по-вашему name.h - это библиотека? Откройте файлик name.h и гляньте его содержимое, а затем сделайте вывод, может ли он быть библиотекой.
polimorf96
9 / 9 / 0
Регистрация: 02.08.2010
Сообщений: 270
12.11.2010, 15:57  [ТС]     Почему включение сторонних библиотек не рекомендуется? #10
Цитата Сообщение от silent_1991 Посмотреть сообщение
А по-вашему name.h - это библиотека? Откройте файлик name.h и гляньте его содержимое, а затем сделайте вывод, может ли он быть библиотекой.
а ну да name.h -заголовочный файл..... тупонул немного...
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
12.11.2010, 16:12     Почему включение сторонних библиотек не рекомендуется? #11
Цитата Сообщение от silent_1991 Посмотреть сообщение
Откройте файлик name.h и гляньте его содержимое
А у меня в моих ущербных биэсдях/макинтошах такого и нету... там хоть про что пишут-то?

Цитата Сообщение от odip Посмотреть сообщение
нормальные программисты не хотят изобретать велосипед
Нормальные герои всегда идут в обход!
(с)

Но в принципе полностью согласен с odip - кроме отсутствия переносимости ничем использование сторонних библиотек не грозит. Так, что, если пишите под UNIX/Linux, используйте смело ncurses и ни о чём плохом не думайте! В конце-концов программа, активно использующая прибамбасы из windows.h ни на каких линуксах/макинтошах/салярисах и прочих хэпэ-уиксах ни за какие коврижки не скомпилируется - это же не значит, что в программах, рассчитанных исключительно под винду нельзя windows.h использовать. Куда ж там без него?!
silent_1991
Эксперт С++
4951 / 3027 / 149
Регистрация: 11.11.2009
Сообщений: 7,026
Завершенные тесты: 1
12.11.2010, 16:15     Почему включение сторонних библиотек не рекомендуется? #12
easybudda, ну, я предполагал, что каждый вместо name подставит свой любимый хидер)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2010, 18:36     Почему включение сторонних библиотек не рекомендуется?
Еще ссылки по теме:

Как узнать частоту звука без сторонних библиотек C++
C++ Скрытие warning сторонних статических библиотек в g++
Работа нескольких сторонних библиотек под одним интерфейсом C++
Пояснить, почему в примере не рекомендуется использовать закрытое наследование C++
C++ Установка сторонних библиотек

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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17265 / 5519 / 343
Регистрация: 30.03.2009
Сообщений: 15,022
Записей в блоге: 26
12.11.2010, 18:36     Почему включение сторонних библиотек не рекомендуется? #13
Цитата Сообщение от easybudda Посмотреть сообщение
Так, что, если пишите под UNIX/Linux, используйте смело ncurses и ни о чём плохом не думайте!
+1. Если предполагается ограничить работу программы только в linux'е - используй ncrurses и не заморачивайся. Если ещё нет опыта по написанию переносимых кодов - то тем более используй и не заморачивайся. Потому что когда приспичит запутить программу под другую ОС и когда ты всё-таки это сможешь сделать, то ты намного лучше будешь понимать, как пишутся переносимые программы, чем прочтя сотню книг и тысячу статей
Yandex
Объявления
12.11.2010, 18:36     Почему включение сторонних библиотек не рекомендуется?
Ответ Создать тему
Опции темы

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