Ist es möglich, eine C-Funktion aus C # .Net aufzurufen?

Ich habe eine C-Bibliothek und möchte die Funktion in dieser Bibliothek von einer C # -Anwendung aus aufrufen. Ich habe versucht, einen C ++ / CLI-Wrapper für die C-Bibliothek zu erstellen, indem ich die C-Bibliotheksdatei als Linkereingabe und die Quelldateien als zusätzliche Abhängigkeiten hinzufügte.

Gibt es eine bessere Möglichkeit, dies zu erreichen, da ich nicht sicher bin, wie ich C-Ausgabe zur c # -Anwendung hinzufügen soll.

Mein C-Code -

__declspec(dllexport) unsigned long ConnectSession(unsigned long handle,
                            unsigned char * publicKey,
                            unsigned char   publicKeyLen);

Mein CPP-Wrapper -

long MyClass::ConnectSessionWrapper(unsigned long handle,
                                unsigned char * publicKey,
                                unsigned char   publicKeyLen)
    {
        return ConnectSession(handle, publicKey, publicKeyLen);
    }

Antworten auf die Frage(3)

Ihre Antwort auf die Frage