L'interoperabilità tra linguaggi e macchine

  • Abbiamo appena visto che esistono due metodi per gestire il valore di ritorno delle funzioni e lo stack può essere liberato dai parametri sia dal chiamante che dalla funzione chiamata. Non abbiamo citato l'ordine dei parametri nello stack.
  • Se noi vogliamo utilizzare programmi scritti con linguaggi diversi (magari per riciclare vecchio codice) dobbiamo fare in modo da eliminare queste differenze. A seconda dei casi si possono utilizzare due soluzioni:
    1. Si avverte il compilatore che una certa funzione che stiamo scrivendo o che vogliamo chiamare utilizza una convenzione di chiamata diversa dallo standard, ed esso userà la convenzione corretta
    2. Si scrive una piccola funzione in assembler che venga chiamata con una convenzione e che a sua volta richiami la funzione ce ci interessa con la corretta convenzione. Una funzione diquesto tipo si chiama wrapper

© Ing. Stefano Salvi - All rights reserved