Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
1

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

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

Author24 — интернет-сервис помощи студентам
Почему нежелательно включать в программу под linux ну например ncurses.h (сторонняя популярная библиотека)? Почему нужно включать только библиотеки, идущие в состав компилятора?
Чем мне "угрожают" сторонние библиотеки? Зачем их тогда писать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.11.2010, 20:12
Ответы с готовыми решениями:

Включение сторонних библиотек в .jar eclipse
Создал простенький проект в maven, в pom.xml указал зависимости. Запускаю проект, нажав на "Maven...

Установка сторонних библиотек
Здравствуйте. Мне нужна библиотека по нейросетям. В интернете нашел вот такую библиотеку....

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

Подключение сторонних библиотек
Задание: реализовать SRP-6a Функцию хэширования нашел, осталось понять как подключить библиотеку с...

12
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.11.2010, 20:33 2
polimorf96, Отсутствием совместимости. Если не скачана библиотека на компьютер - не будет работать. Поэтому лучше пользоваться стандартными либами. Но это относительное лучше. Ведь бустом пользуються многие.
0
 Аватар для polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
11.11.2010, 20:49  [ТС] 3
Цитата Сообщение от ForEveR Посмотреть сообщение
polimorf96, Отсутствием совместимости. Если не скачана библиотека на компьютер - не будет работать. Поэтому лучше пользоваться стандартными либами. Но это относительное лучше. Ведь бустом пользуються многие.
Если не скачана библиотека на компьютер - не будет работать
нет ну если не скачена то понятное дело что работать не будет но а если я скачаю заголовочный файл и библиотеку ну например ncurses.h на комп и пропишу #include <ncurses.h> -где тут таится зло?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.11.2010, 21:03 4
polimorf96, Исключительно в неследовании букве стандарта.
0
 Аватар для polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
11.11.2010, 21:09  [ТС] 5
Цитата Сообщение от ForEveR Посмотреть сообщение
polimorf96, Исключительно в неследовании букве стандарта.
если честно не совсем понял что за буква стандарта? Я язык то изучаю совсем недавно и про букву стандарта ничего не слышал
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
11.11.2010, 21:11 6
polimorf96, Стандарт С/С++. Поищите в инете. Собственно компиляторы поддерживают стандарт и в основном добавляют разные свои фишки.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
12.11.2010, 07:08 7
Смысл этого в отсутствии портабельности программы
Если ты пишешь программу только под свой компьютер - можешь использовать все библиотеки что найдешь на нем

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

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

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

Добавлено через 1 минуту
На самом деле любая более-менее сложная программа использует тонны библиотек, не входящих в стандартные C/C++.
Это нормально - нормальные программисты не хотят изобретать велосипед
стоп-так кажется команда #include <name.h> при компилировании включает в программу всю библиотеку как-бы "копируя " код из name.h ? Или я что-то путаю?
0
Эксперт С++
5057 / 3117 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
12.11.2010, 15:35 9
А по-вашему name.h - это библиотека? Откройте файлик name.h и гляньте его содержимое, а затем сделайте вывод, может ли он быть библиотекой.
0
 Аватар для polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
12.11.2010, 15:57  [ТС] 10
Цитата Сообщение от silent_1991 Посмотреть сообщение
А по-вашему name.h - это библиотека? Откройте файлик name.h и гляньте его содержимое, а затем сделайте вывод, может ли он быть библиотекой.
а ну да name.h -заголовочный файл..... тупонул немного...
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12836 / 7572 / 1765
Регистрация: 25.07.2009
Сообщений: 13,969
12.11.2010, 16:12 11
Цитата Сообщение от silent_1991 Посмотреть сообщение
Откройте файлик name.h и гляньте его содержимое
А у меня в моих ущербных биэсдях/макинтошах такого и нету... там хоть про что пишут-то?

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

Но в принципе полностью согласен с odip - кроме отсутствия переносимости ничем использование сторонних библиотек не грозит. Так, что, если пишите под UNIX/Linux, используйте смело ncurses и ни о чём плохом не думайте! В конце-концов программа, активно использующая прибамбасы из windows.h ни на каких линуксах/макинтошах/салярисах и прочих хэпэ-уиксах ни за какие коврижки не скомпилируется - это же не значит, что в программах, рассчитанных исключительно под винду нельзя windows.h использовать. Куда ж там без него?!
0
Эксперт С++
5057 / 3117 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
12.11.2010, 16:15 12
easybudda, ну, я предполагал, что каждый вместо name подставит свой любимый хидер)))
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
12.11.2010, 18:36 13
Цитата Сообщение от easybudda Посмотреть сообщение
Так, что, если пишите под UNIX/Linux, используйте смело ncurses и ни о чём плохом не думайте!
+1. Если предполагается ограничить работу программы только в linux'е - используй ncrurses и не заморачивайся. Если ещё нет опыта по написанию переносимых кодов - то тем более используй и не заморачивайся. Потому что когда приспичит запутить программу под другую ОС и когда ты всё-таки это сможешь сделать, то ты намного лучше будешь понимать, как пишутся переносимые программы, чем прочтя сотню книг и тысячу статей
0
12.11.2010, 18:36
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2010, 18:36
Помогаю со студенческими работами здесь

Использование сторонних библиотек
Всем салют! Я новичок на этом форуме, а также в языке Си++. У меня возникли вопросы. Дело в том,...

Подключение сторонних библиотек
Всем доброго времени суток! Есть необходимость работы с Intel-ми библиотеками (Linux). Установил...

Подключение сторонних библиотек
Добрый Подскажите в какой литературе расписан принцип работы со сторонними dll файлами Как их...

Импорт сторонних библиотек в Unity
Приветствую! Хочу использовать Google Cloud Platform, а именно Cloud Speech API. В гайде написано,...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru