Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.81/113: Рейтинг темы: голосов - 113, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 18.06.2008
Сообщений: 14

Как создать dll файл на Visual C++?

18.06.2008, 14:15. Показов 21789. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как создать dll файл на Visual C++?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2008, 14:15
Ответы с готовыми решениями:

Как создать динамическую библиотеку dll в Microsoft Visual c++ и использовать ее
Как создать динамическую библиотеку dll в visual 2017 на с++ и как подключить ее к другим проектам?

Как создать portable exe файл в Visual Studio 2013?
здравствуйте.есть одна прога в vs 2013 на c++ ,нужно создать типа портативной программы,открыл и запустилась. как это сделать подскажите...

Как в Visual C++ Express создать 64-разрядную нативную DLL?
Нативную - в смысле НЕ .NET. Будет ли требовать msv***.dll, неважно

33
 Аватар для mikityak
617 / 22 / 0
Регистрация: 30.09.2007
Сообщений: 357
18.06.2008, 14:23
Как как ! не ужели так сложно перебрать все варианты при старте визарда

Win32 Dynamic-Link Library
0
0 / 0 / 0
Регистрация: 18.06.2008
Сообщений: 14
18.06.2008, 14:42  [ТС]
Во-первых Ваш файл не открывается.
Во-вторых с wizard'ом я разобралась и в этом нет проблем, а проблема в том что не могу понять синтакс написания функций для dll.
Код программы у меня уже готов (source code), но ведь в него надо что-то добавить, чтобы создать dll, а вот что не знаю.
P/S.
Извините! может это глупо выглядит я просто никогда этого не делала.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
18.06.2008, 14:49
Синтаксис написания функций? Ай-ай-ай... Знаете синатксис С++? Он ведь в длл не изменится, как ни странно... Единственное что, функцию надо экспортнуть. К примеру, так:
Code
1
__declspec(dllexport) void __cdecl Function1(void);
P. S. если вы этого никогда не делали, есть google. Посмотрите там. Если возникнут сложности, пишите.
(почему люди не могут, хотя бы, попытаться сами немного разобраться, поискать, почитать, а сразу с вопросами...эх...молодежь )
0
 Аватар для mikityak
617 / 22 / 0
Регистрация: 30.09.2007
Сообщений: 357
18.06.2008, 14:53
Лиза ели чо интересное кинь на мыло или www.slil.ru пакажы...
0
0 / 0 / 0
Регистрация: 18.06.2008
Сообщений: 14
18.06.2008, 15:12  [ТС]
Отправила. Это простая NN back propagation. Я ее хотела использовать из другого application. Я еше много из чего хотела бы создать dll'ки, но мне хоть бы один пример...
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
18.06.2008, 15:20
Цитата Сообщение от Лиза Посмотреть сообщение
Отправила. Это простая NN back propagation. Я ее хотела использовать из другого application. Я еше много из чего хотела бы создать dll'ки, но мне хоть бы один пример...
Подсказываю. Открываем google.com пишем: "создание dll visual C++".
0
0 / 0 / 0
Регистрация: 18.06.2008
Сообщений: 14
18.06.2008, 19:59  [ТС]
Цитата Сообщение от Vayrhiu Посмотреть сообщение
Синтаксис написания функций? Ай-ай-ай... Знаете синатксис С++? Он ведь в длл не изменится, как ни странно... Единственное что, функцию надо экспортнуть. К примеру, так:
Code
1
__declspec(dllexport) void __cdecl Function1(void);
P. S. если вы этого никогда не делали, есть google. Посмотрите там. Если возникнут сложности, пишите.
(почему люди не могут, хотя бы, попытаться сами немного разобраться, поискать, почитать, а сразу с вопросами...эх...молодежь )


1. "__declspec(dllexport)" -- эта часть для каждой функции без изменений?
2. где пишется function definition?
3. И где декларируются классы и глобальные переменные?
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
18.06.2008, 20:20
самый эффективный способ что-то узнать:
http://yandex.ru/yandsearch?rp... %20C%2B%2B

третья ссылка:
http://www.xserver.ru/computer/sredaprogr/msvc/2/
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
18.06.2008, 21:25
1. Да, можно не менять. это просто говорит о том, что функция будет экспортирована. То есть, разрешим к ней доступ извне. Добавим ее имя в таблицу экспорта. Это один из способов.
2. Эээм...в принципе, где угодно за пределами других функций.
3. Например так:
Code
1
2
class __declspec(dllexport) CMyClass : public CDC
//описание класса
0
0 / 0 / 0
Регистрация: 16.06.2008
Сообщений: 16
19.06.2008, 15:36
А зачем так сложно, class __declspec(dllexport) CMyClass : public CDC ?
До сих пор просто объявлял имена функций в файле .def типа

; ip2excel.def : Declares the module parameters for the DLL.
LIBRARY "ip2excel"
EXPORTS
; Explicit exports can go here
DllCanUnloadNow PRIVATE
DllGetClassObject PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
OpenExcel
PutToExcel
CloseExcel
InsRowToExcel
InsColToExcel
GroupCellsInExcel
NewSheetInExcel
AutoFitRowsInExcel
DrawBorderInExcel

и все прекрасно вызывалось.
0
0 / 0 / 0
Регистрация: 18.06.2008
Сообщений: 14
19.06.2008, 15:59  [ТС]
Здравствуйте опять!
Скопировала все как написано на сайте:
http://www.xserver.ru/computer/sredaprogr/msvc/2/
скомпелировала. А dll не появился.
0
0 / 0 / 0
Регистрация: 16.06.2008
Сообщений: 16
19.06.2008, 16:06
Могу сбросить рабочий пример под VC++2003 Enterprise или 2005/2008 Express
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
19.06.2008, 16:13
Я же сказал, что это один из способов. Я даже не знаю, че ответить на то, что dllexport это сложно
Тебе удобней .def использовать. А мне без этого файла быстрей динамически сделать. Вот в плане написания, способ с .def ни в чем не обгоняет dllexport. Особенно когда decorated имен касается (с extern C).
В этом вопросе я полностью согласен с MSDN:
Using __declspec(dllexport) is convenient because you do not have to worry about maintaining a .def file and obtaining the decorated names of the exported functions.
Все способы меня не просили описывать. Спасибо, что добавил еще один.
Тогда упомянем, что с использованием MFC к нам приходит еще один способ с AFX_EXT_CLASS для экспорта классов.

Добавлено через 1 минуту
Цитата Сообщение от Лиза Посмотреть сообщение
Здравствуйте опять!
Скопировала все как написано на сайте:
http://www.xserver.ru/computer/sredaprogr/msvc/2/
скомпелировала. А dll не появился.
Значит, не скомпилировался. Вообще, лучше build делать
0
0 / 0 / 0
Регистрация: 18.06.2008
Сообщений: 14
19.06.2008, 16:44  [ТС]
Цитата Сообщение от alexd Посмотреть сообщение
Могу сбросить рабочий пример под VC++2003 Enterprise или 2005/2008 Express
Если не трудно, пожалуйста. Мне вообще кажется что это не сложно, просто один раз самой создать.

Добавлено через 3 минуты
Цитата Сообщение от Vourhey Посмотреть сообщение
Я же сказал, что это один из способов. Я даже не знаю, че ответить на то, что dllexport это сложно
Тебе удобней .def использовать. А мне без этого файла быстрей динамически сделать. Вот в плане написания, способ с .def ни в чем не обгоняет dllexport. Особенно когда decorated имен касается (с extern C).
В этом вопросе я полностью согласен с MSDN:

Все способы меня не просили описывать. Спасибо, что добавил еще один.
Тогда упомянем, что с использованием MFC к нам приходит еще один способ с AFX_EXT_CLASS для экспорта классов.

Добавлено через 1 минуту


Значит, не скомпилировался. Вообще, лучше build делать
Скомпелировался, и ошибок нет, а dll'ка не создалась.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
19.06.2008, 16:46
Значит, ошибка не в коде, а в проекте. Ошибка есть. Иначе бы была .dll.
0
0 / 0 / 0
Регистрация: 18.06.2008
Сообщений: 14
19.06.2008, 16:51  [ТС]
Цитата Сообщение от Vourhey Посмотреть сообщение
Значит, ошибка не в коде, а в проекте. Ошибка есть. Иначе бы была .dll.
И как же узнать где она?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
19.06.2008, 17:03
Мои экстрасенсорные способности не позволяют определить, что не так с Вашим проектом. Опция DLL во время создания была поставлена? В окне output после билда должна появиться строка, где указываются созданные .lib и .exp. Она есть?
0
 Аватар для mikityak
617 / 22 / 0
Регистрация: 30.09.2007
Сообщений: 357
19.06.2008, 17:04
Лиза - та кидай ево сюда не томи людей
0
0 / 0 / 0
Регистрация: 18.06.2008
Сообщений: 14
19.06.2008, 17:09  [ТС]
Цитата Сообщение от mikityak Посмотреть сообщение
Лиза ели чо интересное кинь на мыло или www.slil.ru пакажы...
Простая NN. Мне надо импорт массив и экспорт одну функцию которую я потом создам.
Вложения
Тип файла: doc BPNN.doc (77.0 Кб, 76 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.06.2008, 17:09
Помогаю со студенческими работами здесь

Как создать dll-файл в VS на mac?
Как создать dll-файл в VS на mac и добавить пространство имен, которое содержит описание классов ?

Как создать файл .dll со значками для приложений?
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Как создать файл .dll со значками для приложений? Чтобы было...

Как создать dll файл класса на неуправляемом коде?
Хочу реализовать паттерн MVC(частично) и класс Model написать на C++. Но тут у меня возникает проблема: я не знаю как создать dll файл...

Как создать exe файл в C++ Visual Studio 6.0
Начал изучение C++ Visual Studio 6.0 (dev C++ не понравилась) Создал проект, написал код программы.Ошибок нет, но я не могу найти exe...

Как создать заголовочный файл в Visual Studio?
Вот хочу создать например небольшую библиотеку для часто используемых "кусков" кода. Толковую информацию по этому поводу что-то не...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru