![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
|
|
#1
|
|
Неактивный пользователь
Регистрация: 04.03.2008
Сообщений: 2
Репутация: 0
|
можно ли создать библиотеку DLL на шарпе и использовать ее функции в С++??
Добавлено через 1 минуту Я начинающий в сях, так что не бейте больно! ;) Последний раз редактировалось tr1ton; 12.03.2008 в 15:24.. Причина: Добавлено сообщение |
|
|
|
|
|
#2
|
|
Постоялец
![]() ![]() ![]() ![]() ![]() Пол:
Регистрация: 05.02.2007
Адрес: Москва
Сообщений: 662
Репутация: 271
|
Насколько я знаю, тут должна быть полная совместимость. Создаете dll и заодно lib (Кстати, lib можно получить из dll и потом с помощью lib.exe). Подключаете этот lib в С++ проект, а объявление экспортируемых функций можно вписать самостоятельно прямо в С++ файл.
__________________
Сергей Сергеевич |
|
|
|
|
|
#3
|
|||||||||||||||||||||||
|
Пользователь
![]() Пол:
Регистрация: 27.02.2008
Адрес: Днепропетровск, Украина
Сообщений: 149
Репутация: 802
|
Можно. Существует два способа - динамическая загрузка и статическая линковка. Динамическая загрузка выполняется при помощи функций LoadLibrary/GetProcAddress, перед этим необходимо объявить указатель на функцию примерно так: Код:
typedef HWND (__import *pLoadForm)(HWND Handler,const char* connect);
pLoadForm fLoadForm;
HINSTANCE hDll = LoadLibrary("complcomp.dll");
if(!hDll)return;
fLoadForm = (pLoadForm)GetProcAddress(hDll,"_LoadForm");
String temp = WideCharToString(dmMain->adoConnect->ConnectionString);
hWnd = fLoadForm(this->Handle,temp.c_str());
Для статической линковки необходима библиотека экспорта с раширением .lib которая подключается в проект на этапе линковки. Преимуществом статической линковки является: 1. Загружается сразу при старте приложения - т.е. нет накладных расходов на загрузку 2. Можно использовать объекты из длл Недостатки - 1. если длл отсутствует - приложение не загрузится 2. Занимает больше памяти- в не зависимости от того используется функции длл или нет. 3. Динамически могут быть загружены все длл функции которых отвечают правилам, статически - не всегда. |
|||||||||||||||||||||||
|
|
|
|
|
#4
|
|
Неактивный пользователь
Регистрация: 04.03.2008
Сообщений: 2
Репутация: 0
|
тогда вопрос знатокам!!! (я в программинге недавно)
возможно ли сделать на шарпе библиотеку доступа к объектам ActiveDirectory (там это легко реализуется, а на с++ не нашел как это сделать), и потом использовать эту библиотеку в с++ проекте без установленного на машине фреймворка????? |
|
|
|
|
|
#5
|
|||||||||||||||||||||||
|
Пользователь
![]() Пол:
Регистрация: 27.02.2008
Адрес: Днепропетровск, Украина
Сообщений: 149
Репутация: 802
|
Нет. Это плата за легкость работы. ![]() Добавлено через 2 минуты
Что имеется ввиду не нашел? Ты можешь получать доступ к объектам АД на любом языке (я не имею ввиду Кобол ), на С++ это сделать немного сложнее чем на шарпе - но не намного, я должен сказать.Последний раз редактировалось k0t_; 13.03.2008 в 12:31.. Причина: Добавлено сообщение |
|||||||||||||||||||||||
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Form Pilot Professional | ILLARDAN | Варезник | 2 | 15.12.2012 06:32 |
| Help! Send Form! | Mithrandir | PHP | 2 | 27.12.2010 07:08 |
| Работа с FORM тегами в HTML и JS | K7778 | Java Script | 7 | 21.09.2009 05:42 |
| Form выпадающий список | Akuji | Java Script | 4 | 12.02.2008 17:48 |
| E-Mail Form | tayfoon | Веб - Программирование | 1 | 16.10.2007 12:34 |
|
|