wxGlade // C und C++ definieren // open62541
-
Hallo liebes Forum,
ich arbeite gerade an einer Server-Client Verbindung für eine Automatisierungsprojekt.
Um es kurz zu machen:
Durch Vorgaben bin ich gezwungen das Programm in C zu schreiben http://open62541.org/
Das hat auch alles wunderbar funktioniert.Nun soll ich für meinen Client eine HMI in wxGlade erstellen.
Dabei steht mir die Speicherung der Oberfläche im C++ oder XRC-Dateiformat zur Verfügung.Erste Frage was ist eine XRC-Datei? (Bringt es mir irgendwelche Vorteile damit zu arbeiten?)
Ich besitze eine open62541.h Datei und eine Client.c Datei.
Ist es nun möglich die Funktionen aus meiner Client.c - Datei (Sind natürlich mit Funktionen aus der open62541.h Datei verschlungen) in die von wxGlade erstellte Vorlage zu implementieren?
Die Beispiele mit:
#ifdef __cplusplus extern "C" { #endif
.. usw
Funktioniert aber bisher nur an einem kleinen selbgeschriebenen Testprogramm.
Bin ich damit auf der richtigen Spur?
Grüße SBifi
-
Ja, man kann C und C++ zusammen in einem Programm benutzen. Dabei ist der Aufruf von C-Funktionen aus C++ einfach und wird, wie von dir beschrieben, mit extern "C" ermöglicht.
XRC Dateien kommen im C++-Standard nicht vor. Ebenso kennt er kein wxGlade.
-
Hallo, danke für die Antwort
Ich glaube ich habe einen etwas größeres Problem.
Ich benutze GCC um meinen Code umzuwandeln.
Im Fall des Clients:
gcc -std=c99 client.c open62541.c -o BClient
Verstehe ich diesen Befehl richtig?
Das ich in der Variante C99 einen BClient erstelle und dabei meinen client.c mit dem Code von open62541.c "verlinke" und umwandle?grüße
-
SBifi schrieb:
Ich glaube ich habe einen etwas größeres Problem.
Dass glaube ich auch!
SBifi schrieb:
Ich benutze GCC um meinen Code umzuwandeln.
Compiler übersetzen.
SBifi schrieb:
Im Fall des Clients:
gcc -std=c99 client.c open62541.c -o BClient
Der C-Compiler übersetzt die beiden Dateien nach dem C99-Standard und der Linnker bindet das Ergebnis zu der ausführbaren Datei BClient zusammen (falls es keine Fehler gibt).
Du weißt nicht wirklich, was du da tust, oder?