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. |