mikrocontroller.net

Forum: PC-Programmierung Paramterübergabe zur Laufzeit


Autor: tib (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Programm, das ständig läuft, um alle paar Sekunden ein 
Polling zu starten, um einen Zustand zu prüfen. Während der Laufzeit 
ändern sich aber einige Parameter und ich möchte gerne von einem anderen 
Programm aus, dass die Parameter auswertet, neue Paramter übergeben und 
gegebenfalls eine Antwort zurückerhalten. Dafür reichen dann z.B. 
Strings oder so, die dann zwischen den beiden Programmen ausgetauscht 
werden. Wie kann ich das realisieren?

Danke im Voraus.

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welches System verwendest du? Linux oder Windows? Unter Windows würde 
ich Windows-Nachrichten verwenden, die du von dem einem zu dem anderen 
Programm schicken kannst, wenn du die Fenster-Handles kennst. Die kannst 
du über den Fensternamen herausfinden.

Autor: tib (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arbeite unter Windows und Visual c++.
Gibts da vielleicht ein kleines Tutorial, oder ein Stichwort, wo nach 
man googlen könnte?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du suchst Methoden zur Interprozesskommunikation. Unter Windows gibt 
es dafür verschiedene Möglichkeiten; Windows-Messages (diese setzen 
voraus, daß die Anwendungen auch diese Windows-Messages verarbeiten, was 
bei Konsolapplikationen nicht der Fall ist), Named Pipes, Sockets oder 
Shared Memory.

Named Pipes und Sockets haben den Vorteil, daß die beiden Prozesse auch 
auf unterschiedlichen Maschinen laufen können.
Shared Memory benötigt noch zusätzlicher Synchronisationsmechanismen wie 
Mutexe.

Windows-Messages sind gut geeignet, um einfache numerische Werte (zwei 
32-Bit-Werte) zu übertragen, wenn mehr Daten transportiert werden 
sollen, müssen diese in von beiden Prozessen einsehbaren Speicher 
verpackt, und dann ein Handle auf diesen Speicher transportiert werden.
Der Mechanismus entspricht dem von der Zwischenablage her bekannten.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Sockets kannst Du noch cool arbeiten. Wie bereits geschrieben wurde, 
können dann die Programme auch übers Netzwerk auf verschiedenen Rechnern 
laufen und man ist sogar Plattformunabhängig, sprich ein Teil kann für 
Windows programmiert werden und ein anderer für ein Unix Derivat wie 
z.B. FreeBSD.
Man muss sich nur ein kleines Protokoll ausdenken, damit sich die beiden 
Teile verstehen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.