C++ code in C code verwenden ?!



  • Hallo,

    ich hab mal eine Frage, in wie weit es möglich ist C++ code in C zu verwenden? Geht das überhaupt?
    Das Problem ist, dass ich ein Plugin für eine Software programmieren möchte, wobei das Plugin in C geschreiben werden muss. Mit dem Plugin möchte ich meine Logitech Tastatur ansteuern um Informationen auf dem Display auszugeben und dabei wollte ich die vorhandene SDK der Logitech Tastatur nutzen, welche allerdings in C++ geschrieben wurde.

    Gibt es da einen Weg irgendwie alles in eine Application zu integrieren?

    Die einzige Möglichkeit die mir gerade einfallen würde, wäre eine DLL zu erstellen, welche mit einer Pipe vom Plugin verbunden ist um die Informationen auf die Tastatur zubekommen und selbst hier bin ich mir nicht sicher, ob das überhaupt so einfach geht?!

    Es wäre nett, wenn ihr mir da mal eure Meinungen und Ratschläge zukommen lassen könntet 🙂

    Lg Tobi


  • Mod

    Es ist mit Einschränkungen möglich:

    Ist das Interface der C++-Funktionen mit C-Mitteln nachbaubar, ist es kein Problem und du findest jede Menge Anleitungen im Netz. Der Schlüssel ist die Verwendung von extern "C" .

    Werden hingegen C++-Mittel in der Funktionssignatur benutzt, kannst du es gleich vergessen. Es mag zwar möglich sein sich für bestimmte Fälle etwas zusammen zu basteln, aber das dürfte in den wenigsten Fällen portabel sein.



  • T0bi schrieb:

    Gibt es da einen Weg irgendwie alles in eine Application zu integrieren?

    Ja.

    Wo liegt denn das Problem? Warum glaubst Du, dass das Plugin in C geschrieben werden müsste? Ich habe auch schon LADSPA-Plugins, die ein C-Interface haben, in C++ geschrieben. Ist alles kein Thema. Wenn Du Funktionen hast, die von C aus aufgerufen werden sollen, müssen diese in C++ mit extern "C" deklariert werden.



  • T0bi schrieb:

    ...
    dabei wollte ich die vorhandene SDK der Logitech Tastatur nutzen, welche allerdings in C++ geschrieben wurde
    ...

    Warum willst du eine C++ Schnittstelle in C bedienen? Kannst/darfst du kein C++ benutzen?



  • DocShoe schrieb:

    Warum willst du eine C++ Schnittstelle in C bedienen? Kannst/darfst du kein C++ benutzen?

    Ich glaube, Du hast da etwas falsch verstanden. Er will einerseits eine C++ Bibliothek benutzen und andererseits ein Plugin damit schreiben, was eine C-Schnittstelle anbieten muss.



  • Stimmt, ich könnte ja versuchen das PlugIn mit C++ zu programmieren, vllt. hab ich mich jetzt nur aus der Fassung bringen lassen, das inm Guid stand, die Software sei mit C programmiert. Nam al schaun.

    Aber danke euch erst mal.

    Lg Tobi


Anmelden zum Antworten