Создаём DLL на C++

В предыдущей статье мы создавали DLL, используя Delphi, на языке Pascal. Delphi является коммерческой средой разработки, и стоит огромных денег. Потому мы сегодня поменяем среду разработки и язык программирования, а задача останется прежней.

В качестве среды разработки на C++ я выбрал бесплатно распространяемый Microsoft visual studio community 2015. Не берусь назвать причину этого аттракциона неслыханной щедрости со стороны Microsoft, это тема отдельного исследования :).

Вновь мы напишем две функции, и сделаем так, чтобы одна из них была доступна для внешнего вызова из DLL.

Инициализация нового проекта

Необходимо создать новый проект Visual C++ (меню Файл -> Создать -> Проект), используем шаблон консольного приложения.

dll-visual-c-creation

Выбираем и жмем ОК.

В следующем диалоговом окне устанавливаем параметры приложения как показано на следующем слайде.

aplication-parameters-visiual-c-dll

Думаю, тоже не возникнет вопросов с выбором параметров. Остаётся нажать кнопку — «Готово».

Создание файлов проекта DLL.

Добавим в проект два исходных файла. Один с расширением .cpp будет содержать программный код двух наших тестовых функций, а второй .def будет содержать инструкции для билдера.

Откройте «обозреватель решений» (ох уж мне эти тонкости перевода интерфейса на русский язык :) ). Если он не открыт, то найдите его через меню «Вид» или нажмите комбинацию Ctrl+Alt+L.

Нужно добавить два файла в секцию «Файлы исходного кода».

add-source-file-dll-project

add-cpp-to-project

Сначала добавим файл .cpp, потом .def.

Пишем код DLL

Запрограммируем код наших функций (.cpp)

Для экспортируемой функции нужен префикс, разрешающий экспорт __declspec(dllexport). Функция, используемая только внутри DLL, в таком объявлении не нуждается.

Def файл будет содержать следующие инструкции:

Название библиотеки и перечень экспортируемых функций (у нас только функция для получения куба числа — power3).

Компиляция и сборка библиотеки.

Все готово к компиляции и сборке. В меню «Сборка» выбираем «Собрать решение» CTRL+Shift+B. Если звезды будут вам благоприятствовать, то в папке проекта /debug вы обнаружите файл с расширением .dll.

Написать комментарий

Мало букафф? Читайте есчо !

Friend функция класса выдает ошибку was not declared in this scope

Декабрь 25, 2015 г.

Сегодня долго бился с указанной проблемой при сборке-компиляции проекта на c++ под debian. Решение было в итоге найдено. Для некоторого класса была объявлена friend-функция. Всё объявление класса я приводить не буду, только структуру класса и объявление ...

Читать

Установка C++ для unix (debian)

Декабрь 19, 2015 г.

Мне пришла мысль кое что "по-кодить" для веб-сервера, начал вспоминать когда то горячо любимый C++. Но сразу столкнулся с тем фактом, что в современной UNIX не установлен компилятор С++ по умолчанию. Устанавливаем Итак, устанавливаем Си на хостинге ...

Читать

 

Комментарии к «Создаём DLL на C++»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: