Daten von einem C Programm zu einem C++ Programm senden

teja

Grünschnabel
[c/c++]Daten von einem C Programm zu einem C++ Programm senden

Mein Problem:
Also, das Programm von dem ich senden möchte ist ein C Programm und benutzt die WinAPI. Das empfangende Programm ist ein C++ Programm und benutzt keine Fenster und soll dieses auch später nicht tun.
Die beiden Programme laufen auf einen Rechner.

Meine Frage, wie kann ich das machen?
 
Zuletzt bearbeitet:
Ich würde dazu neigen, ein unsichtbares Fenster und Windowsmessages zu verwenden. Wäre das möglich? Dann wäre es einfach.

Ansonsten fallen mir noch ein:
- Client/Server-Lösungen mit WinSocket über den Localhost
- eine Datei, über die die Anwendungen kommunizieren

Hat noch jemand eine Idee?
 
Unsichtbares Fenster, was ist das?
Kenne mich halt noch nicht so gut aus :)

Die Daten die gesendet werden sollen, werden wohl mindestens jede Sekunde abgefragt, eventuell in noch kürzeren Abständen.
 
Original geschrieben von teja
Unsichtbares Fenster, was ist das?
Kenne mich halt noch nicht so gut aus :)

Die Daten die gesendet werden sollen, werden wohl mindestens jede Sekunde abgefragt, eventuell in noch kürzeren Abständen.
Ich meine damit ein normales Windows-Fenster (also ein Fensterfenster ;) ), das allerdings nicht zur Darstellung, sondern nur zur Kommunikation (Windows-Messages) verwendet wird. Dass die Daten mehrere Male pro Sekunde ausgetauscht werden sollen, sollte kein Problem sein.
 
Original geschrieben von Kachelator
Ich würde dazu neigen, ein unsichtbares Fenster und Windowsmessages zu verwenden. Wäre das möglich? Dann wäre es einfach.

Okay das könnte ich glaube ich machen, dann nur die Frage wie?
Scheint ja wohl nichr so schwer zu sein, so das ich das auch verstehe.

Schon mal Danke für die bisherigen Antworten.
 
Mir fallen spontan zwei Möglichkeiten ein:
Für größere Datenmengen würde ich auch eine Transferdatei verwenden, solange das Erstellen und Einlesen der Datei beides deutlich der Sekundenmarke liegt. Bei einem Zyklus von 1 Sekunde sollten dann aber eventuell noch entsprechende Flags gesetzt werden, damit immer nur eines der beiden Programme gleichzeitig auf die Transferdatei zugreift.
Bei geringeren Datenmenge (wenigen Variablen) wäre es doch möglich, die entsprechenden Daten dem C++-Programm als Aufrufparameter zu übergeben, oder? Leider habe ich lange nicht mehr in C programmiert, von daher weiss ich nicht, wie der Aufruf im C-Programm heissen müsste (ich glaube system("Pfad/Name des C++-Programms"); ), aber das aufgerufene C++-Programm könnte dann z.B. mittels
Code:
int main (int argc, char **argv)
{
  char* parameter1 = argv[1];
  char* parameter2 = argv[2];
...
}
auf die übergebenen Werte reagieren. Voraussetzung allerdings wäre, daß das C++-Programm tatsächlich auch vom C-Programm aus gestartet wird und nicht z.B. über einen cron-Job.
 
Hallo,

nach langem auspropieren und rumsuchen habe ich mich dazu entschlossen es über Shared Memory zu versuchen.

Habe dazu ein Bsp. in einen Buch gefunden , was leider Fehler beim kompilieren anzeigt. :-(

Frage:
Darf man den Quellcode aus einem Buch hier anzeigen?
:eek:
 
Hm, ich denke: Gib doch einfach den Titel und Autor mit an. Der wird sich freuen über die Publicity! Jedenfalls, wenn es ein gutes Buch ist. ;)

Aber wenn du Hilfe brauchst, kann man dich ja nicht im Regen stehen lassen, also zeig doch mal! Die Moderatoren können den Beitrag ja immer noch löschen, falls irgendwas nicht in Ordnung ist.
 
Hallo,

Schande über mich,
habe ein Projekt als Konsolen Anwendung geöffnet und nicht als Win32 Anwendung. Bin halt ein Grünschnabel. :)
Also es läuft, muß jetzt etwas damit rumbasteln bis ich das habe was ich möchte.

Sollten sich da wieder Fragen ergeben melde ich mich.
 

Neue Beiträge

Zurück