Come vengono I / O routine di libreria implementato per le lingue che non supportano l'accesso a basso livello?

StackOverflow https://stackoverflow.com/questions/4814603

Domanda

Lingue che non supportano l'accesso a basso livello alla macchina, come ad esempio memory-mapped I / O, spesso (se non sempre) hanno routine di libreria che fornisce tale accesso. Ora, se il linguaggio stesso non supporta tale accesso, come vengono implementate queste routine di libreria?

È stato utile?

Soluzione

In realtà dipende la lingua. Alcune lingue hanno una struttura di "interoperabilità", che permette un metodo scritto in quella lingua per chiamare un primitivo libreria che può essere implementato in un altro linguaggio (C, assemblatore, ecc.).

Per esempio, i linguaggi .NET hanno la possibilità P / Invoke che permette loro di chiamare DLL non gestite (che può essere scritto in C, C ++, Assembler, o qualsiasi altro linguaggio che permette funzioni esportate da DLL), ma per il CLR interna utilizzare c'è anche il modificatore "chiamata interna", che è una chiamata diretta in un primitivo libreria implementato all'interno di una delle DLL CLR.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top