|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 14
|
|||||||||||||||||||||
Создать управляемую библиотеку, чтобы использовать ее в будущем в других .NET проектах18.07.2014, 17:49. Показов 2128. Ответов 15
Метки нет (Все метки)
Здравствуйте. Имеется заголовочный h.-файл с C++ кодом, реализующий решение систем нелинейных уравнений
В нем есть объявление функций и их реализация: Объявление:
Возник вопрос как правильно сделать аналогично объявление и реализацию в managed dll конструкции выше. Не понятно, как обращаться с generic типом
0
|
|||||||||||||||||||||
| 18.07.2014, 17:49 | |
|
Ответы с готовыми решениями:
15
Как создать UserControl и использовать его в качестве шаблона в других проектах Как создать dll-библиотеку, чтобы другие могли ее использовать? Как правильно использовать свой обновляемый проект в других своих проектах |
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
|
| 19.07.2014, 03:12 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 14
|
||
| 19.07.2014, 04:08 [ТС] | ||
|
А можно как-нибудь заменить шаблон функции template на указатель? Как-то через typedef реализовать?
0
|
||
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
||||||||||||||||||
| 19.07.2014, 05:02 | ||||||||||||||||||
|
Что бы избавиться от template, объявите указатель на функцию
т.е. это вариант использования нативной длл Добавлено через 45 минут собираете обычную длл. все функции и указатель на функцию объявляете в хэдере, реализацию функций в СРР файле. ref class уберите совсем Завтра захотите в других проектах, без NET и опять переписывать?
1
|
||||||||||||||||||
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 14
|
|||
| 19.07.2014, 08:38 [ТС] | |||
|
Добавлено через 2 часа 21 минуту
0
|
|||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 21.07.2014, 15:32 | |
|
Вообще, C# поддерживает шаблоны.
http://msdn.microsoft.com/en-u... ad0zb.aspx
0
|
|
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
|
| 21.07.2014, 19:45 | |
|
CheshireCat, там ни к чему генерики. Если на С# переписывать, то там один тип делегата на всю
библиотеку.
0
|
|
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 14
|
||
| 31.07.2014, 09:00 [ТС] | ||
|
А вот, вызывать функции из dll из проекта на VB.Net все еще не получается. Кажется, функция считывается и пытается выполнятся но возникает ошибка как-то связанная с границами массивов, наверное есть какое-то несоответствие массивов си и бейсика. Пожалуйста, будьте добры взгляните на проекты: Dynamic Lybrary (2 решения: MathFuncsDll - дллка, MyExecRefsDll - вызов функции дллки на С++) и testdll in vb (вызов функции дллки на Vb.net)
0
|
||
|
Модератор
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
|
|
| 31.07.2014, 10:56 | |
|
функции неверно принимают массивы. вот тут все написано (MSDN HOWTO: Pass Arrays Between Visual Basic and C Q207931) http://support.microsoft.com/kb/207931
1
|
|
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 14
|
||
| 31.07.2014, 13:59 [ТС] | ||
|
Для первого случая, кажется годится 1 или 2 метод (не уверен какой выгодней) в указанной Вами статье, для второго случая наверное можно использовать средства класса Marshal(по-моему это гораздо проще, но что-то не нашел хорошего понятного для новичка примера). Буду пробовать оба подхода, ну и надеюсь на ваши советы и предложения.
0
|
||
|
Модератор
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
|
|
| 31.07.2014, 15:25 | |
|
1 метод, как я понял, это и есть передача указателя в C-стиле
2 метод, это когда мы принимаем настоящий safearray наверное, 1 метод лучше ибо зачем нам мучиться?
1
|
|
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
||||||
| 31.07.2014, 15:41 | ||||||
|
Прошелся отладчиком , все массивы возвращаются из длл длинной равной единице.
Жестко размер укажите в параметрах, должно помочь.
1
|
||||||
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 14
|
|||
| 31.07.2014, 19:05 [ТС] | |||
|
Добавлено через 13 минут A first chance exception of type 'System.IndexOutOfRangeException' occurred in testdll in vb.exe A first chance exception of type 'System.AccessViolationException' occurred in testdll in vb.exe
0
|
|||
|
Модератор
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,450
|
|
| 31.07.2014, 20:56 | |
|
а где выкидывает?
0
|
|
|
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
|
||||||
| 01.08.2014, 12:59 | ||||||
Сообщение было отмечено anakinskyoker как решение
РешениеНе по теме: утром на свежую голову вспомнил про In, Out
1
|
||||||
| 01.08.2014, 12:59 | |
|
Помогаю со студенческими работами здесь
16
Как использовать библиотеку JSON .NET Как подключить и использовать библиотеку extjs в asp.net mvc 4 Какую библиотеку использовать, чтобы найти значение уравнения
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
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, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|