C-Code unter .NET einbinden



  • Hallo liebe community,

    ist es möglich unter .NET (C#), bereits vorhandenen, ANSI C-Code einzubinden ohne dabei über DllImport zu gehen?

    D.h. ich habe eine Menge Funktionen, die in ANSI C programmiert sind und möchte diese Funktionen innerhalb eines C#-Projekts direkt verwenden.

    Danke



  • Wenn Du unbedingt C-Funktionen einbinden willst und hier im C++/CLI Forum fragst, dann frage ich mich, warum du kein C++/CLI Projekt erstellst, sondern ein C# Projekt?

    Bei einem C# Projekt wirst du den Umweg über eine Dll gehen müssen.



  • atinun schrieb:

    Hallo liebe community,

    ist es möglich unter .NET (C#), bereits vorhandenen, ANSI C-Code einzubinden ohne dabei über DllImport zu gehen?

    D.h. ich habe eine Menge Funktionen, die in ANSI C programmiert sind und möchte diese Funktionen innerhalb eines C#-Projekts direkt verwenden.

    Danke

    Es gibt verschiedene Wege.

    1. Unter C# P/Invoke verwenden (DllImport)
    2. Unter C# eine C++/CLI Bridge einbinden, die ein .NET Interface um dein C Code baut.
    3. Unter C# eine COM Library einbinden, die dein C Code kapselt.

    Grüsse Simon



  • Wobei Möglichkeit 2 (C++/CLI Bridge) vermutlich am schnellsten geht. Vorausgesetzt man kennt sich mit C++/CLI aus.


Anmelden zum Antworten