barney_gumble1 Geschrieben 26. Juli 2006 Geschrieben 26. Juli 2006 hi, hab ein problem. ich möchte mit meinem c-programm datensätze bearbeiten. diese datensätze stammen aus einem assembler-programm. ich weiß, dass über die argumente des c-programms eine adresse mitgegeben werden soll. weiß aber nicht genau wie das alles genau funktionieren soll. hat jmd vllt ein paar gute literaturquellen zu dem thema oder weiß sogar einer bescheid. thx Zitieren
Guybrush Threepwood Geschrieben 26. Juli 2006 Geschrieben 26. Juli 2006 Für was für ein Betriebssystem soll das denn sein? Du könntest zwar einen Zeiger auf die übergebene Adresse lenken, wenn du das aber bei einem aktuellem BS machst wirst du meiner Meinung nach eine Access Violation bekommen. Zitieren
nic_power Geschrieben 27. Juli 2006 Geschrieben 27. Juli 2006 Hallo, Für was für ein Betriebssystem soll das denn sein? Du könntest zwar einen Zeiger auf die übergebene Adresse lenken, wenn du das aber bei einem aktuellem BS machst wirst du meiner Meinung nach eine Access Violation bekommen. Da die beiden Programme in unterschiedlichen virtuellen Adressbereichen laufen, kann man davon ausgehen. Zumindest unter Unix/Linux gäbe es noch die Möglichkeit mittels fork() zu arbeiten und dann die Adressbereiche des Kind-Prozesses (Assemblerprogramm) in den Vaterprozess zu mappen. Von dort aus können dann auch die Daten ausgelesen werden. Das ganze ist aber alles andere als portable und auch nicht notwendigerweise trivial zu implementieren. Nic Zitieren
Guybrush Threepwood Geschrieben 28. Juli 2006 Geschrieben 28. Juli 2006 Stimmt sowas müsste mit CreateProcess unter Windows auch möglich sein, bin ich mir aber gerade nicht ganz sicher. Zitieren
Bubble Geschrieben 28. Juli 2006 Geschrieben 28. Juli 2006 Der Ausgangsposter hat leider nichts vom verwendetet OS gesagt. Falls sein OS keinen Speicherschutz bieten sollte, dann könnte er schon einfach absolute Adressen übergeben... Bei modernen Betriebssysteme wird das allerdings nicht gelingen, solange er kein Shared Memory o.ä. zur Datenübergabe einsetzt. Man könnte die Datensätze auch in eine temporäre Datei speichern und den Dateinamen übergeben. Es gibt so viele Möglichkeiten, das Problem zu lösen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.