2013-07-19 6 views
0

Я загрузил BACnet-Stack из http://sourceforge.net/projects/bacnet/, но написан в c, и я хочу использовать его в C#.Как использовать C-библиотеку в C#

Я уже 4 часа читал о том, как это сделать, но я не более того. Большинство ответов - написать код заново в C#, но я не имею понятия c. Я открыл рабочую область в Code :: Blocks, чтобы изучить код и скомпилировать библиотеку в a.-файл. Но как я могу его использовать?

Привет,

Стефан

+0

Там, как представляется, C# версия BACnet Stack - HTTP : //bacsharp.sourceforge.net/ – JMK

+0

Проверьте это qsns и я думаю, что это полезно для вас. [http://stackoverflow.com/questions/9093292/use-ac-library-from-c-sharp-code][1] [1]: HTTP: // StackOverflow. com/questions/9093292/use-ac-library-from-c-sharp-code –

+0

@jmk сайт и файлы были отредактированы последними в feb-2008 ... я не думаю, что они точны больше – typ1804

ответ

0

Для решения ситуации, так, Microsoft предоставляет атрибуты, сборку и сортировочной предложить взаимодействие между управляемым неуправляемым кодом (не .net в курсе/погонный за пределами CLR) и управление - COM-совместимость.
Исследуйте использование динамики и (Dynamic language runtime-DLR), которые должны быть более чем точными.
пример кода (с использованием kernel32.dll) в качестве примера вызова неуправляемого кода из управляемого контекста

[DllImport("kernel32.dll", EntryPoint="MoveFile", 
ExactSpelling=false, CharSet=CharSet.Unicode, 
SetLastError=true)] 
static extern bool MoveFile(string sourceFile, string destinationFile); 

//calling the function 
static void Main() 
{ 
    MoveFile("sheet.xls", @"c:\sheet.xls"); 
} 

проверки этого PDF также: http://www.nag.com/IndustryArticles/Calling_C_Library_DLLs_from_C_Sharp.pdf

+0

-1: Только «маршалинг» имеет отношение к OP, и даже это не очень полезный контент. – millimoose

+0

Я уточнил сообщение, спасибо за ваш комментарий – sarepta

+0

Но как я могу преобразовать a.-файл в .dll? – typ1804

Смежные вопросы