0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 3
|
|
1 | |
Использование сторонних библиотек07.10.2012, 06:59. Показов 7184. Ответов 3
Метки нет (Все метки)
Всем салют! Я новичок на этом форуме, а также в языке Си++. У меня возникли вопросы.
Дело в том, что до Си++ я кодил на PHP, причем весьма удачно, как я считаю. Так вот, в этом PHP для использования стороннего расширения достаточно было просто заинклудить главный файл с исходным кодом, в котором инклудились остальные "кусочки" и в конце концов объявлялись нужные для работы функции и классы. А вот в Си++ я так понял этот вариант не катит. Решил я использовать в своей программе библиотеку libcurl (http://ru.wikipedia.org/wiki/cURL, http://curl.haxx.se). В разделе Download есть много-много вариантов, для разных компиляторов и платформ. Ах да, сама библиотека написана на Си. Я правильно понял, что если бы изначально библиотека была написана на Си++, то тогда можно было бы без проблем скачать исходные коды и просто их заинклудить? Зачем все эти готовые скомпилированные варианты? Чтобы можно было использовать функциональность курла в MSVS 2012, я сделал следующее: 1. Сделал #include <curl\curl.h> в начале программы (перед этим скопировал необходимые инклуды курла в папку с остальными) 2. В настройках проекта, в разделе Linker (Компоновщик) -> Input (Ввод) добавил файл libcurl.lib (поставлялся в варианте для MSVC). Перед этим также скопировал файл в папку C:\Program Files (x86)\Windows Kits. Насчет первого мне более менее ясно. Хотя все равно непонятки насчет этих .h файлов, что они содержат и почему у них не .cpp расширение. А второе зачем? Что оно значит? И тем более мне непонятно, почему после второго пункта мне еще потребовалось засунуть файл libcurl.dll в папку с готовым .exe. А если я захочу куда-нибудь выложить свою программу в виде исходных текстов? Программисту, читающему мой исходник, для корректной работы надо будет засунуть include файлы в папку с компилятором, кинуть .lib и .dll файлы. А библиотека может быть не одна. Можно ли как-то все это собрать в одну кучу? Проясните пожалуйста! P. S. у PHP очень хороший сайт с документацией http://www.php.net, где можно найти описание любой функции, похожие функции, функции из этой же категории и прочее. Причем на русском. И это официальный сайт. Весьма удобно и надежно. Есть ли что-нибудь подобное по Си++, желательно тоже на русском?
0
|
07.10.2012, 06:59 | |
Ответы с готовыми решениями:
3
Подключение сторонних библиотек Подключение сторонних библиотек Установка сторонних библиотек Графика без сторонних библиотек |
320 / 270 / 128
Регистрация: 24.05.2012
Сообщений: 629
|
|
07.10.2012, 08:09 | 2 |
Заголовочные файлы содержат прототипы (объявления) функций, дабы компилятор знал, что где-то в проекте такая функция есть. Файлы исходного кода определяют эти функции. Т. е. если подключить заголовок, но не добавить lib или cpp, то компилятор все это проглотит, однако будет ругаться компоновщик (linker) на отсутствующие функции.
http://cplusplus.com/reference
Учите английский.
0
|
0 / 0 / 0
Регистрация: 07.10.2012
Сообщений: 3
|
|
07.10.2012, 08:39 [ТС] | 3 |
Пока что все понятно... А зачем тогда .dll? Компилятор же из .lib файла берет реализацию функций, почему он их не компилирует вместе с остальным кодом в один .exe? За ссылку спасибо, действительно очень неплохой ресурс. Чтобы потом не спрашивать, можно еще какие-нибудь или этот имеет самую полную информацию?
0
|
320 / 270 / 128
Регистрация: 24.05.2012
Сообщений: 629
|
|
07.10.2012, 12:14 | 4 |
0
|
07.10.2012, 12:14 | |
07.10.2012, 12:14 | |
Помогаю со студенческими работами здесь
4
Почему включение сторонних библиотек не рекомендуется? Скрытие warning сторонних статических библиотек в g++ Отключение предупреждений при подключении сторонних библиотек Работа нескольких сторонних библиотек под одним интерфейсом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке
В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
|
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
|
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins
В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
|
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang
Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
|
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
|
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
|
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
|
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
|
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|