powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Windows [игнор отключен] [закрыт для гостей] / Экспорт из C# в C
5 сообщений из 5, страница 1 из 1
Экспорт из C# в C
    #40030054
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некоторая библиотека на C#

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
using System;
using RGiesecke.DllExport;

namespace TestLibrary
{
	class TestDll {
		[DllExport("GetValue", CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl)]
		public static double GetValue() {
			return 42;
		}
	}
}



Как это правильно описать в .h файле? Или как создать его автоматом?

Код: plaintext
1.
double GetValue();


Не линкуется - типа не найдена функция и куча других слов.
Как правильно сделать?

PS: используется в чистом С, не С++, поэтому extern C {...} не использую.
...
Рейтинг: 0 / 0
Экспорт из C# в C
    #40030131
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominНе линкуется - типа не найдена функция и куча других слов.
Как правильно сделать?

1. Посмотреть что на самом деле экспортируется из DLL.
2. Прочитать "кучу слов".
3. Прийти к выводу, что это невозможно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Экспорт из C# в C
    #40030152
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это надо в форуме по C# спрашивать. Насколько я знаю можно так сделать, но как - не подскажу. Задача усложняется тем что прежде чем код на C# будет выполнен его надо скомпилировать, для этого в вызывающий процесс должен быть как-то загружен компилятор .Net.
...
Рейтинг: 0 / 0
Экспорт из C# в C
    #40030275
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя просто так вызвать функцию на С# из С. https://docs.microsoft.com/en-us/dotnet/core/tutorials/netcore-hosting
...
Рейтинг: 0 / 0
Экспорт из C# в C
    #40031553
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
необходимо загрузить CLR, создать домен, загрузить в него сборку и вызвать метод.
по идее, всё это умеет библиотека Windows: mscoree.dll, по этому смотреть нужно в её сторону.

https://docs.microsoft.com/en-us/dotnet/framework/unmanaged-api/hosting/icorruntimehost-createdomain-method
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Экспорт из C# в C
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]