0 / 0 / 0
Регистрация: 18.06.2008
Сообщений: 14

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

18.06.2008, 14:15. Показов 21750. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru