Das C-Quellprogramm steht als POSIX-Quelldatei mit dem Namen hallo.c in dem Dateiverzeichnis /USERIDXY/source. Das Programm benutzt POSIX-Bibliotheksfunktionen. Der Compiler erzeugt ein LLM und schreibt dieses in eine POSIX-Objektdatei mit dem Standardnamen hallo.o. Diese Objektdatei wird im Dateiverzeichnis des Quellprogramms abgelegt. Die Objektdatei wird anschließend in der POSIX-Shell-Umgebung weiterverarbeitet.
Quellprogramm-Datei hallo.c
#include <stdio.h>
FILE *fp;
int main(void)
{
printf("Hallo, ich bin ein C-Programm\n");
fp = fopen("/USERIDXY/posixfiles/hallo", "w");
fputs("hallo", fp);
fclose(fp);
return 0;
}
Das Quellprogramm wurde mit dem EDT erstellt und mit der Anweisung @XWRITE FILE=/USERIDXY/source/hallo.c abgespeichert.
Ablaufprotokoll zum Übersetzen, Binden und Starten
(IN) bedeutet Benutzereingaben
(OUT) bedeutet System/Programm-Meldungen
(IN) /START-CPLUS-COMPILER —————————————————————————————————————————— (1)
(OUT) % BLS0523 ELEMENT ’SDFCC’, VERSION ’04.0B02’, TYPE ’L’ FROM LIBRARY
’:P401:$TSOS.SYSLNK.CPP.040’ IN PROCESS
(OUT) % BLS0524 LLM ’SDFCC’, VERSION ’04.0B02’ OF ’2023-04-02 13:40:11’
LOADED
(OUT) % BLS0551 COPYRIGHT (C) 2023 Fujitsu Technology Solutions GmbH. ALL
RIGHTS RESERVED
(OUT) % CDR9992 : BEGIN C/C++ VERSION 04.0B02
(IN) //MOD-SOURCE-PROP LANG=*C,DEFINE=_OSD_POSIX ———————————————————— (2)
(IN) //MOD-INCL-LIB STD-INCL=($.SYSLIB.POSIX-HEADER,*STANDARD-LIB) —— (3)
(IN) //COMPILE SOURCE='/USERIDXY/source/hallo.c',-
//MODULE-OUTPUT=*SOURCE-LOC ———————————————————————————————————— (4)
(OUT) % CDR9907 : NOTES: 0 WARNINGS: 0 ERRORS: 0 FATALS: 0
(OUT) % CDR9937 : MODULES GENERATED, CPU TIME USED: 0.3829 SECONDS
(IN) //END —————————————————————————————————————————————————————————— (5)
(OUT) % CDR9936 END; SUMMARY: NOTES: 0 WARNINGS: 0 ERRORS: 0 FATALS: 0
(OUT) % CCM0998 CPU TIME USED: 0.3829 SECONDS
(IN) /START-POSIX-SHELL ————————————————————————————————————————————— (6)
(OUT) POSIX Basisshell 10.0A45 created Jun 14 2016
POSIX Shell 10.0A45 created Jul 12 2016
Copyright (C) Fujitsu Technology Solutions 2009
All Rights reserved
Last login: Thu Mar 26 10:45:44 2020 on term/002
(IN) cd source —————————————————————————————————————————————————————— (7)
(IN) ls hallo* —————————————————————————————————————————————————————— (8)
(OUT) hallo.c hallo.o
(IN) cc hallo.o ————————————————————————————————————————————————————— (9)
(IN) a.out —————————————————————————————————————————————————————————— (10)
(OUT) Hallo, ich bin ein C-Programm
(1) | Der Compilerlauf wird gestartet. |
(2) | Mit der MODIFY-SOURCE-PROPERTIES-Anweisung wird der Sprachmodus C eingeschaltet (voreingestellt ist der Sprachmodus C++) und das für die Nutzung der POSIX-Bibliotheksfunktionen notwendige Define |
(3) | Mit der MODIFY-INCLUDE-LIBRARIES-Anweisung wird zusätzlich zur CRTE-Bibliothek $.SYSLIB.CRTE (*STANDARD-LIBRARY) die Bibliothek zugewiesen, die die Standard-Include-Elemente für die POSIX-Bibliotheksfunktionen enthält ($.SYSLIB.POSIX-HEADER). |
(4) | Mit der COMPILE-Anweisung wird der Übersetzungslauf gestartet. Mit der SOURCE-Option wird der absolute Pfadname der zu übersetzenden POSIX-Quelldatei angegeben. POSIX-Dateinamen müssen immer in Hochkommas eingeschlossen werden. Der Operandenwert *SOURCE-LOCATION in der MODULE-OUTPUT-Option bewirkt, dass das übersetzte Modul in eine POSIX-Objektdatei mit dem Standardnamen |
(5) | Mit der END-Anweisung wird der Compilerlauf beendet. |
(6) | Da POSIX-Objektdateien nur im POSIX-Subsystem weiterverarbeitet werden können, wird mit dem POSIX-Kommando START-POSIX-SHELL aus der BS2000-Systemumgebung (SDF) in die POSIX-Umgebung (Shell) gewechselt. Nach Aufruf des Kommandos befindet man sich im Home-Dateiverzeichnis der aktuellen BS2000-Benutzerkennung (USERIDXY). |
(7) | Mit dem POSIX-Kommando |
(8) | Nach Eingabe des POSIX-Kommandos |
(9) | Mit dem POSIX-Kommando |
(10) | Das Programm wird ausgeführt. |