Ich bin neu beim Erstellen von Windows-Anwendungen in C++. Meine Aufgabe besteht darin, zwei cpp-Dateien zu schreiben, von denen eine eine Zahl (x) an die andere sendet, die andere f (x) auswertet und sie an die erste zurücksendet. Ich sollte es mithilfe von Nachrichten implementieren. Konnte nichts bestimmtes online erhalten, Könnte jemand mir einen Hinweis geben, wo ich anfangen soll? Toller Dank!Nachrichten zwischen zwei C++ - Programmen austauschen
Antwort
Sprechen Sie über Fenstermeldungen? Wenn dies der Fall ist, könnte die sendende App SendMessage verwenden, was dazu führen würde, dass die empfangende Anwendung ihre Fensterprozedur ausführt. Das bedeutet natürlich, dass die empfangende App ein Fenster erstellen muss, dessen Fenster-Handle irgendwie der sendenden App zur Verfügung gestellt wird.
['WM_COPYDATA'] (http://msdn.microsoft.com/en-us/library/windows /desktop/ms649011(v=vs.85).aspx) ist ein Kandidat dafür. – chris
Sie können es auf verschiedene Arten tun.
- WM_COPYDATA message Unter Verwendung der Daten
- Allocating global memory passieren Daten zu übergeben und Ihre eigene Mitteilung zu senden, so dass die zweite Programm die Daten aus dem Speicher lesen kann
- Sending a message (wenn zwei Ints Ihre Bedürfnisse anzupassen Daten zu übergeben)
- Verwendung named pipes
- Verwendung TCP/IP local connection (peer to peer einem Server oder über)
Schauen Sie sich ZeroMQ an (http://zeromq.org; plattformübergreifend, LGPL). Es ist eine sehr einfache, leichte und leistungsfähige Bibliothek. Von der Basisebene aus können Sie UDP-Datagramme, aber durch zuverlässigen Transport (TCP oder einige Varianten) austauschen. Außerdem müssen Sie die Unterstützung, zeitbasierte Abfragen und erweiterte Netzwerkschemas abbrechen (die in Ihrem Fall nicht benötigt werden). Ich habe es für eine ähnliche Aufgabe ausgewählt und es funktioniert sehr gut.
- 1. Senden großer Datenmengen zwischen zwei C# -Programmen
- 2. Eine Pipe in c zwischen zwei Programmen erstellen
- 3. Übergeben von Ausnahmen zwischen zwei C# -Programmen mit JSON
- 4. Wie kommuniziert man effizient zwischen zwei Programmen?
- 5. Austauschen von Werten zwischen zwei Spalten mit data.table
- 6. Exchange ListBox-Elemente zwischen zwei separaten Projekten austauschen
- 7. Austauschen von Elementen zwischen ArrayLists
- 8. Kommunikation zwischen Python-Programmen
- 9. HL7-Nachrichten über das Internet austauschen
- 10. Austauschen von Listenelementen zwischen zwei Listen in Python?
- 11. Bidirektionale Nachrichten zwischen zwei tize wearble
- 12. Freigeben der GPU zwischen OpenCL-fähigen Programmen
- 13. Senden von Nachrichten zwischen Klassen Obj-C?
- 14. C# -Threads - Nachrichten zwischen Threads posten
- 15. Senden von Nachrichten zwischen Threads in C#
- 16. Obj-C Senden von Nachrichten zwischen Klassen
- 17. Austauschen von zwei Typen in einer Typenliste
- 18. Einfachste Möglichkeit zum Senden von Nachrichten zwischen Matlab, VB6 und VB.NET-Programmen
- 19. Automatische Aktualisierung von C# -Programmen
- 20. Kommunikation zwischen 2 Programmen in Python
- 21. Übergeben von Konfigurationswerten zwischen mehreren Golang-Programmen
- 22. Unterschied zwischen zwei DateTimes C#?
- 23. Kommunikation zwischen zwei C# -Anwendungen
- 24. Socket.IO Die beste Möglichkeit, Nachrichten zwischen zwei Benutzern zu senden?
- 25. Nachrichten zwischen Benutzer
- 26. Schnellste Möglichkeit, ein Array von Double zwischen zwei Java-Programmen auszutauschen
- 27. Können PHP und C++ Daten untereinander austauschen?
- 28. Austauschen von Endianness in Objective-C?
- 29. C# -Austauschen von Sharepoint-Listendaten nächtlich
- 30. Was sind die guten Alternativen für die Kommunikation zwischen lokalen C++ - und Java-Programmen?
http://www.boost.org/doc/libs/1_52_0/doc/html/interprocess.html – user93353