CP/M-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Memberlist || Home || Statistik || Kalender || Staff Willkommen Gast!
[ Unofficial CP/M Website ] [ Z80 Family Support Page ] [ Forum-Regeln ] [ Impressum/Kontakt ]

CP/M-Forum » Softwareprojekte » Frage zu Hisoft C und "spawnl()" Funktion (geht nicht!) » Threadansicht

Autor Thread - Seiten: -1-
000
30.06.2009, 22:05 Uhr
Peter Dassow

Avatar von Peter Dassow

Hallo,

hatte vor, mein uraltes, liegengebliebenes Projekt wiederzubeleben, und wollte etwas in C ausprobieren. Dazu habe ich Hisoft C 3.09 ausgesucht, da dort nicht nur eine "execl()" Funktion zum Ausführen von Programmen (ohne Rückkehr zum Vater-Prozess) zu finden ist, sondern auch eine "spawnl()" Funktion, die Programme ausführen soll, aber zum ursprünglichen Programm dann wieder einen zurückkommen lässt.
In der LIBC.LIB findet sich dann auch eine execl() Funktion wieder, die spawnl() Funktion scheint jedoch nur Theorie zu sein.
Beim Kompilieren kommt der Hinweis, dass es ein "unresolved external" gibt - _spawnl ...
Lese ich das Hisoft C Manual einfach nur falsch oder ist das ein Fehler in der Beschreibung/in der Library selbst ?
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
001
30.06.2009, 23:26 Uhr
HD64180CPM



Hallo Peter,

die "spawnl()" Funktion ist leider nicht in Library von Hisoft C enthalten.

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
002
01.07.2009, 16:29 Uhr
Peter Dassow

Avatar von Peter Dassow


Zitat:
HD64180CPM postete
Hallo Peter,

die "spawnl()" Funktion ist leider nicht in Library von Hisoft C enthalten.

Gruss
Rolf

Umso merkwürdiger weil in der mitgelieferten sys.h die Funktion spawnl sogar deklariert ist ...
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
003
01.07.2009, 19:54 Uhr
HD64180CPM



Hallo Peter,

ich habe auch eine andere sys.h gefunden siehe Ausschnitt von dieser.

#else /* unix */
extern int spawnl(char *, char *, ...);
extern int spawnv(char *, char **);
extern int spawnle(char *, char *, ...);
extern int spawnve(char *, char **, char **);
extern int spawnlp(char *, char *, ...);
extern int spawnvp(char *, char **);
#endif /* unix */

Aber die "spawnl()" Funktion ist leider in Library von HI-TECH 3.09 nicht zu finden.

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
004
02.07.2009, 11:00 Uhr
Peter Dassow

Avatar von Peter Dassow


Zitat:
HD64180CPM postete
Hallo Peter,

ich habe auch eine andere sys.h gefunden siehe Ausschnitt von dieser.

#else /* unix */
extern int spawnl(char *, char *, ...);
extern int spawnv(char *, char **);
extern int spawnle(char *, char *, ...);
extern int spawnve(char *, char **, char **);
extern int spawnlp(char *, char *, ...);
extern int spawnvp(char *, char **);
#endif /* unix */

Aber die "spawnl()" Funktion ist leider in Library von HI-TECH 3.09 nicht zu finden.

Gruss
Rolf

Hallo Rolf,

Danke für Deine Mühe. Da hier offensichtlich UNIX als "define" aktiv ist, wäre es nicht verwunderlich, wenn es unter CP/M nicht geht ;-)

Für mich stellt sich aber dann die Frage, wie ich aus irgendeiner Sprache heraus (ohne Tricks wie submit-Nutzung) ein weiteres CP/M-Programm starten kann, ohne dass der Vater-Prozess (also das Programm mit dem Programmaufruf) beendet wird - der soll ich dezent im Hintergrund aufhalten und warten, bis das aufgerufene Programm wieder beendet ist...
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
005
02.07.2009, 12:10 Uhr
proof80



Hallo Peter,

1. Unter CP/M 3 gibt es die RSX-Technik, die auch im Z3Plus-System verwendet werden. Vielleicht ist das nötig, um mehrere Programme im Hauptspeicher zu halten.

2. Bei meinem GripS war ein Terminalprogramm namens GRIPSCOM dabei, aus dem heraus man andere Programme starten konnte. Das nette daran: es ist in Turbopascal geschrieben und der Quelltext war mitgeliefert. Wie das genau funktioniert, habe ich mir aber noch nicht die Mühe gemacht zu durchschauen.
Wenn Dich aber die Source weiterbringt, schick ich sie Dir zu - eine PN an mich reicht.

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
006
02.07.2009, 21:07 Uhr
Peter Dassow

Avatar von Peter Dassow


Zitat:
proof80 postete
2. Bei meinem GripS war ein Terminalprogramm namens GRIPSCOM dabei, aus dem heraus man andere Programme starten konnte. Das nette daran: es ist in Turbopascal geschrieben und der Quelltext war mitgeliefert. Wie das genau funktioniert, habe ich mir aber noch nicht die Mühe gemacht zu durchschauen.
Wenn Dich aber die Source weiterbringt, schick ich sie Dir zu - eine PN an mich reicht.

Wolfram, das wäre toll ;-)

Gruss
Peter
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
007
02.07.2009, 21:39 Uhr
HD64180CPM



Hallo Peter,

Du hast eine E-Mail von mir bekommen.

; int _spawn (char * program, char *args)

Gruss
Rolf
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
008
02.07.2009, 21:59 Uhr
proof80



Hallo Peter, arbeitest Du an Deinem NC-Clone für CP/M?

Gruß, Wolfram
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
009
12.07.2009, 17:56 Uhr
Peter Dassow

Avatar von Peter Dassow


Zitat:
proof80 postete
Hallo Peter, arbeitest Du an Deinem NC-Clone für CP/M?

Gruß, Wolfram

Nach langer Abstinenz wollte ich eigentlich weiter machen, hatte bisher nur Gerüst-Programmierung betrieben, das Hauptproblem des Startens anderer Programme und trotzdem wieder Zurückkehrens zum Menü hatte ich nicht gelöst gehabt ;-(
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
010
12.07.2009, 18:13 Uhr
proof80




Zitat:
Peter Dassow postete
Nach langer Abstinenz wollte ich eigentlich weiter machen, hatte bisher nur Gerüst-Programmierung betrieben, das Hauptproblem des Startens anderer Programme und trotzdem wieder Zurückkehrens zum Menü hatte ich nicht gelöst gehabt ;-(

Na dann schau mal in Deine emails - da kannst Du jetzt wohl weitermachen

Gruß, Wolfram

Dieser Post wurde am 12.07.2009 um 18:14 Uhr von proof80 editiert.
Seitenanfang Seitenende
Profil || Private Message || Suche Zitatantwort || Editieren || Löschen || IP
Seiten: -1-     [ Softwareprojekte ]  



gaby.de

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek