C # .Net Methoden von C heraus aufrufen

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
doubleII
Beiträge: 2
Registriert: Sa Mai 04, 2019 8:01 pm

C # .Net Methoden von C heraus aufrufen

Beitrag von doubleII » Sa Mai 04, 2019 8:06 pm

Hallo,

ich versuche C# Methoden von C Projekt heaus aufzurufen, leider finde ich kaum Info darüber.
Hat sich schon jemand mit dem Thema beschäftigt?

Ich habe das Nuget Paket gefunden. Dies gibt die Möglichkeit, C# Method in native Anwendungen zu exportieren. Mein Problem ist, dass ich nicht weiß, wie ich die Methoden in C aufrufen kann. Ich habe ins Internet nichts gefunden, was mir weiter helfen könnte.
www.nuget.org/packages/UnmanagedExports

Hier anbei ein Beilspiel.

Code: Alles auswählen

public class Library
    {

        [DllExport("add", System.Runtime.InteropServices.CallingConvention.Cdecl)]
        public static int Add(int a , int b)
        => a + b;

        [DllExport("mul", System.Runtime.InteropServices.CallingConvention.Cdecl)]
        public static int Multiplication(int a, int b)
        => a * b;
    }
Vielen Dank!

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8492
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C # .Net Methoden von C heraus aufrufen

Beitrag von Xin » Sa Mai 04, 2019 8:49 pm

Das Problem ist - meineswissens, was nicht korrekt sein muss, weil ich derartiges seit Jahren nicht mehr gemacht habe - dass die Parameter der Funktion in den .NET-Speicherbereich kopiert werden müssen.
Du brauchst - meineswissens - eine C++/CLI Library, die C-Funktionen exportieren kann und .NET-Funktionen rufen kann.
Diese Funktionen musst Du dann generieren, bzw. selbst schreiben.
Du rufst also eine C-Funktion im .NET Umfeld, die dann die C#-Funktion rufen kann.
Außerhalb des .NET-Umfeldes kannst Du - meineswissens - keine .NET-Funktionen rufen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

doubleII
Beiträge: 2
Registriert: Sa Mai 04, 2019 8:01 pm

Re: C # .Net Methoden von C heraus aufrufen

Beitrag von doubleII » So Mai 05, 2019 11:32 am

Ok, Danke Dir für die Info. Es wäre einfacher, wenn ich rein auf "C" das Zeug programmiere.

Antworten