Использование библиотеки C из кода С#

У меня есть библиотека на языке C. возможно ли использовать его в C sharp.

http://zbar.sourceforge.net/ - это ссылка библиотеки, которую я хочу использовать

Ответ 1

C Библиотеки, скомпилированные для Windows, можно вызывать из С# с помощью Invoke платформы.

Из MSDN синтаксис вызова функции C выглядит следующим образом:

[DllImport("Kernel32.dll", SetLastError=true)]
static extern Boolean Beep(UInt32 frequency, UInt32 duration);

Вышеупомянутая функция вызывает Beep в Kernel32.dll, передавая частоту и длительность аргументов. Более сложные вызовы возможны в строках и указателях на массивы, возвращаемые значения и т.д.

Вам нужно будет убедиться, что функции C, доступные библиотеке C, экспортированы соответствующим образом, например. функция Beep, скорее всего, будет объявлена ​​следующим образом:

#define DllExport   __declspec( dllexport )
DllExport bool Beep(unsigned int frequency, unsigned int duration)
{
    // C Body of Beep function
}