Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Übersetzen und binden im BS2000

&pagelevel(3)&pagelevel

Die nachfolgend dargestellte Beispielprozedur zeigt, wie eine SOCKETS(POSIX)- bzw. XTI(POSIX)-Anwendung im BS2000 übersetzt und gebunden werden kann.

/SET-PROCEDURE-OPTIONS IMPLICIT-DECLARATION=*NO
/DECLARE-PARAMETER ( -
/  PRGLIB     (TYPE=*STRING, INITIAL-VALUE=*PROMPT),               -
/  ELEMENT    (TYPE=*STRING, INITIAL-VALUE=*PROMPT),               -
/)
/REMARK PARAMETER PROMPTING: &(PRGLIB) &(ELEMENT)
/DECLARE-CONSTANT  ( -
/  INCLIB  (TYPE=*STRING, VALUE='$.SYSLNK.CRTE'),                  -
/  INCLIB1 (TYPE=*STRING, VALUE='$.SYSLNK.CRTE.CPP'),              -
/  POSHEAD (TYPE=*STRING, VALUE='$.SYSLIB.POSIX-HEADER'),          -
/  POSLNK  (TYPE=*STRING, VALUE='$.SYSLNK.CRTE.POSIX'),            -
/)
/"--- INSTALLATIONS-PFAD VON SYSLIB.POSIX-SOCKETS ERITTELN -------"
/DECLARE-VARIABLE SOCLIB (TYPE=*STRING)
/DECLARE-VARIABLE SVARL  (TYPE=*STRUCT),MULTIPLE-ELEMENTS=*LIST
/DECLARE-VARIABLE SVARI  (TYPE=*STRUCT),MULTIPLE-ELEMENTS=*LIST
/DECLARE-VARIABLE SVAR   (TYPE=*STRUCT)
/EXEC-CMD (SHOW-INSTALLATION-PATH POSIX-SOCKETS,SYSLIB),           -
/  STRUCT-OUTPUT=SVARL,TEXT-OUTPUT=*NO
/SVARI  = SVARL#1.IU-II-LIST
/SVAR   = SVARI#1
/SOCLIB = SVAR.II-PATH-NAME
/"--- C-COMPILER AUFRUFEN ----------------------------------------"
/START-CPLUS-COMPILER
//MODIFY-SOURCE-PROPERTIES                                         -
//  LANGUAGE=*C(MODE=*ANSI),                                       -
//  DEFINE='_OSD_POSIX'
//MODIFY-INCLUDE-LIBRARIES                                         -
//  USER-INCLUDE-LIBRARY=*SOURCE-LIBRARY,                          -
//  STD-INCLUDE-LIBRARY=(                                          -
//    *STANDARD-LIBRARY, &(POSHEAD), &(SOCLIB)                     -
//  )
//MODIFY-LISTING-PROPERTIES                                        -
//  OPTIONS=*YES,                                                  -
//  SOURCE=*YES,                                                   -
//  SUMMARY=*YES,                                                  -
//  INCLUDE-INFORMATION=*ALL,                                      -
//  OUTPUT=*LIB(LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT).LST)
//SHOW-PROPERTIES SELECT=(*INCLUDE)
//COMPILE                                                          -
//  SOURCE=*LIBRARY-ELEMENT(                                       -
//    LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT).C                      -
//  ),                                                             -
//  MODULE-OUTPUT=*LIBRARY-ELEMENT(                                -
//    LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT).O                      -
//  )
//END
/"--- BINDER AUFRUFEN --------------------------------------------"
/SET-FILE-LINK LINK-NAME=BLSLIB01,FILE-NAME=&(INCLIB)
/SET-FILE-LINK LINK-NAME=BLSLIB02,FILE-NAME=&(INCLIB1)
/SET-FILE-LINK LINK-NAME=BLSLIB03,FILE-NAME=&(SOCLIB)
/START-BINDER
//START-LLM-CREATION INTERNAL-NAME=&(ELEMENT)
//INCLUDE-MODULES                                                  -
//  *LIB(LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT).O, TYPE=L    )
//INCLUDE-MODULES                                                  -
//  *LIB(LIBRARY=&(POSLNK), ELEMENT=*ALL,         TYPE=(L,R))
//RESOLVE-BY-AUTOLINK LIBRARY=*BLSLIB-LINK
//SAVE-LLM                                                         -
//  *LIB(LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT)),                   -
//  OVERWRITE=*YES
//END
/EXIT-PROCEDURE