Wie kann man Variablen sharen, sodass diese in mehreren Anwendungen sichtbar sind?



  • Auch auf die Gefahr hin, dass das schonmal gestellt worden ist, frage ich: Wie kann man Variablen in Programmen, die gleichzeitig laufen nutzen, ohne diese mühsam und zeitaufwendig in eine Textdatei zu kopieren? Danke für das Verständnis, ich komme eigentlich aus dem Unterteil Projekte und will nun mit mehreren Programmen die selben Dateien bearbeiten...



  • Dazu benötigst Du (platformabhängige) IPC Mechansimen wie z.B. Sockets, Memory Mapped Files, Pipes, etc.

    Geht es dabei um Windows?

    Simon



  • All das bietet Boost plattformunabhängig an: http://boost.org



  • The-Kenny schrieb:

    All das bietet Boost plattformunabhängig an: http://boost.org

    Was bietet boost auch nicht 😛



  • Ich hörte von dem extremen Beispiel einer Grafikkarte, die heutzutage ungefähr 100 fache CPU-Power bieten, dazu könnte ich(als OpenGL Kundiger) ein Programm schreiben, das mit Hilfe der Grafikkarte ausrechnet und dabei, wie ihr schon sagt, diese Werte rüberpipen zu meinem Main-Programm. Ja es handelt sich dabei um Windows. Aber das hört sich für mich relativ schwierig an, weshalb ich auf das Sharen von über Dateien wechseln werde, was zwar 1000 mal langsamer ist, aber vielleicht immernoch sachnell genug... Ergo ich wollte mir das Geld für einen Superrechner sparen und meine Grafikkarte nutzen, was wohl die 100 mal billigere Variante ist... Edit: So habe jetzt weitergesucht und Compute Unified Device Architecture gefunden, der Key zu der Grafikkarte... Aber Programmieren kann ich es noch nicht...



  • Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • 🙄 viel spass noch, wird sicher ein mega erfolg



  • lololol schrieb:

    🙄 viel spass noch, wird sicher ein mega erfolg

    😃



  • du machst eine dll, in dieser

    #pragma data_seg(".shared")
       int Foo=0;
       #pragma data_seg()
    

    und dann gibt es diese variabel in allen instanzen der DLL, also ueber alle programme hinweg die diese dll laden.

    damit kannst du sehr einfach und schnell daten austauschen.



  • FreakY<3Cpp schrieb:

    The-Kenny schrieb:

    All das bietet Boost plattformunabhängig an: http://boost.org

    Was bietet boost auch nicht 😛

    Ein GUI Toolkit. Leider 😉



  • flubbyeick schrieb:

    Ich hörte von dem extremen Beispiel einer Grafikkarte, die heutzutage ungefähr 100 fache CPU-Power bieten, dazu könnte ich(als OpenGL Kundiger) ein Programm schreiben, das mit Hilfe der Grafikkarte ausrechnet und dabei, wie ihr schon sagt, diese Werte rüberpipen zu meinem Main-Programm. Ja es handelt sich dabei um Windows. Aber das hört sich für mich relativ schwierig an, weshalb ich auf das Sharen von über Dateien wechseln werde, was zwar 1000 mal langsamer ist, aber vielleicht immernoch sachnell genug... Ergo ich wollte mir das Geld für einen Superrechner sparen und meine Grafikkarte nutzen, was wohl die 100 mal billigere Variante ist... Edit: So habe jetzt weitergesucht und Compute Unified Device Architecture gefunden, der Key zu der Grafikkarte... Aber Programmieren kann ich es noch nicht...

    Du willst also solch ein Programm auf die Beine stellen, aber eine einfache shared memory section ist dir zu komplex 😃 😃 😃 👍 👍 👍


Anmelden zum Antworten