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

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

Восстановить пароль Регистрация
 
polimorf96
 Аватар для polimorf96
9 / 9 / 0
Регистрация: 02.08.2010
Сообщений: 270
11.11.2010, 20:12     Почему включение сторонних библиотек не рекомендуется? #1
Почему нежелательно включать в программу под linux ну например ncurses.h (сторонняя популярная библиотека)? Почему нужно включать только библиотеки, идущие в состав компилятора?
Чем мне "угрожают" сторонние библиотеки? Зачем их тогда писать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
11.11.2010, 20:33     Почему включение сторонних библиотек не рекомендуется? #2
polimorf96, Отсутствием совместимости. Если не скачана библиотека на компьютер - не будет работать. Поэтому лучше пользоваться стандартными либами. Но это относительное лучше. Ведь бустом пользуються многие.
polimorf96
 Аватар для polimorf96
9 / 9 / 0
Регистрация: 02.08.2010
Сообщений: 270
11.11.2010, 20:49  [ТС]     Почему включение сторонних библиотек не рекомендуется? #3
Цитата Сообщение от ForEveR Посмотреть сообщение
polimorf96, Отсутствием совместимости. Если не скачана библиотека на компьютер - не будет работать. Поэтому лучше пользоваться стандартными либами. Но это относительное лучше. Ведь бустом пользуються многие.
Если не скачана библиотека на компьютер - не будет работать
нет ну если не скачена то понятное дело что работать не будет но а если я скачаю заголовочный файл и библиотеку ну например ncurses.h на комп и пропишу #include <ncurses.h> -где тут таится зло?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
11.11.2010, 21:03     Почему включение сторонних библиотек не рекомендуется? #4
polimorf96, Исключительно в неследовании букве стандарта.
polimorf96
 Аватар для polimorf96
9 / 9 / 0
Регистрация: 02.08.2010
Сообщений: 270
11.11.2010, 21:09  [ТС]     Почему включение сторонних библиотек не рекомендуется? #5
Цитата Сообщение от ForEveR Посмотреть сообщение
polimorf96, Исключительно в неследовании букве стандарта.
если честно не совсем понял что за буква стандарта? Я язык то изучаю совсем недавно и про букву стандарта ничего не слышал
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
11.11.2010, 21:11     Почему включение сторонних библиотек не рекомендуется? #6
polimorf96, Стандарт С/С++. Поищите в инете. Собственно компиляторы поддерживают стандарт и в основном добавляют разные свои фишки.
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
12.11.2010, 07:08     Почему включение сторонних библиотек не рекомендуется? #7
Смысл этого в отсутствии портабельности программы
Если ты пишешь программу только под свой компьютер - можешь использовать все библиотеки что найдешь на нем

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

Добавлено через 1 минуту
На самом деле любая более-менее сложная программа использует тонны библиотек, не входящих в стандартные C/C++.
Это нормально - нормальные программисты не хотят изобретать велосипед
polimorf96
 Аватар для 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
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.11.2010, 15:35     Почему включение сторонних библиотек не рекомендуется? #9
А по-вашему name.h - это библиотека? Откройте файлик name.h и гляньте его содержимое, а затем сделайте вывод, может ли он быть библиотекой.
polimorf96
 Аватар для polimorf96
9 / 9 / 0
Регистрация: 02.08.2010
Сообщений: 270
12.11.2010, 15:57  [ТС]     Почему включение сторонних библиотек не рекомендуется? #10
Цитата Сообщение от silent_1991 Посмотреть сообщение
А по-вашему name.h - это библиотека? Откройте файлик name.h и гляньте его содержимое, а затем сделайте вывод, может ли он быть библиотекой.
а ну да name.h -заголовочный файл..... тупонул немного...
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.11.2010, 16:12     Почему включение сторонних библиотек не рекомендуется? #11
Цитата Сообщение от silent_1991 Посмотреть сообщение
Откройте файлик name.h и гляньте его содержимое
А у меня в моих ущербных биэсдях/макинтошах такого и нету... там хоть про что пишут-то?

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

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

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

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

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

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