[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das Problem mit dem Speicher beginnt ja schon beim Übergabeparameter.
    Wenn dieser CONST ist, legt der Compiler ja automatisch eine Kopie in der Größe an.
    Aber ohne CONST kann ich keine dynamische Übergabe kodieren:
    MyFunc(Var1);
    MyFunc('Text');
    Problematisch wirds dann noch bei Rekursion und geschachtelten Funktionen.
    Bifs sind intern wohl etwas anders kodiert.

    Dynamisch geht es eigentlich nur per Pointer.
    Allerdings muss die Aufrufkonvention genau eingehalten werden.

    Beschränke dich doch einfach auf max. 32K-Variablen, das reicht in 99,999% aller Fälle.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Bei VALUE wir immer eine Kopie erstellt.
    Bei CONST nur dann, wenn die Parameter-Definition (Aufruf/Prototyp) abweichend ist. Es wird immer ein Pointer (entweder auf das Original-Feld oder die Kopie übergeben.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    CONST erzwingt ebenso eine Kopie, damit die aufgerufene Funktion den Speicher nicht ändern kann.
    Dies ist Sinn und Zweck von CONST.
    VALUE arbeitet (fast) genauso, nur dass scalare Datentypen nicht kopiert werden sondern direkt im Stack abgelegt werden (CLLE-Problem).
    Bei Zeichenvariablen wird der Inhalt kopiert und ein Pointer im Stack abgelegt.
    Die Kopie benötigt dann halt den Platz.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Foxtrot erledigt Datawarehouse/MIS Funktionen
    By Dick Dekker in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 14-01-03, 14:14
  2. Antworten: 0
    Letzter Beitrag: 04-07-02, 06:31

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •