wxWidgets direkt aus purem C benutzen?
-
Guten abend!
Ein freund von mir will unbedingt eine GUI realisieren. Ich rate ihm dazu wxWidgets (habs selbst aber nie benutzt, ich bin ein Konsole-typ...). Er hat ein projekt in C, wxWidgets ist aber in C++ geschrieben und muss durch C++ aufgerufen werden.
Also? Ich dachte ein Wrapper in C++, mit einem C-compitablen header file (
extern "C" { }), der auf C-compitable C++ funktionen verweist, welche dann irgendwie wxWidgets benutzen. Den Wrapper würde ich in eine statische Bibliothek (.a) reinpacken.Ich hab C/C++ erfahrung die recht OK ist, zum mischen der beiden bin ich noch nie gekommen.
Meine Frage:
Ist das überhaupt möglich..?
Oder überhaupt empfehlenswert?
Wie stehts im gegensatz zu GTK+ ?Danke im voraus.
-
Warum benutzt dein Freund kein C++?
-
cooky451 schrieb:
Warum benutzt dein Freund kein C++?
Weil er keine Zeit dazu hat, es zu lernen, obwohl er alle Zeit der Welt hat.
(oder kurz: Frag nicht mich)
-
wxc wird seid 6 jahren nicht mehr entwickelt.
-
Benutz GTK in dem Fall. Das ist in C. Bzw hat eine C-Api.
Oder nehmt C++ :).
-
Okay tun wir schon.
Jetzt aber rein von den Möglichkieten her, es wäre doch möglich, nicht? Falls a, sehr schwehr?
-
Sehr aufwendig zumindest.
-
lk schrieb:
Jetzt aber rein von den Möglichkieten her, es wäre doch möglich, nicht? Falls a, sehr schwehr?
Was? Einen C-Wrapper um wxWidgets zu schreiben? Technisch sicher möglich, aber die Arbeit lohnt sich niemals, wenn man nur mal ab und zu etwas GUI programmiert. Zumal man dazu auch C++ können müsste.
Generell müsste man neben Aufwand/Test/Boilerplate-Code auch beachten, dass sich gewisse C++-Sprachmittel schlecht in C umsetzen lassen. Wobei das beim antiquierten wxWidgets wohl nicht das Problem sein dürfte

-
Nexus schrieb:
Wobei das beim antiquierten wxWidgets wohl nicht das Problem sein dürfte

Wolle Flamewar kaufe?
-
Stell wenn schon nur die letzte Nebenbemerkung und nicht meinen ganzen Post als schlecht dar

-
lk schrieb:
Weil er keine Zeit dazu hat, es zu lernen, obwohl er alle Zeit der Welt hat.
Ach, er kann kein C++, aber einen Wrapper um wxWidgets schreiben kann er?