Sto imparando llvm e volevo fare una dimostrazione del concetto di un'idea che ho.Chiama le funzioni C/C++ da ExecutionEngine
Fondamentalmente, voglio dividere il mio compilatore e il mio runtime. Il compilatore darebbe un file .bc e il runtime lo caricherà tramite ParseBitcodeFile e userà ExecutionEngine per eseguirlo. Questa parte sta funzionando.
Ora, per effettuare facilmente chiamate di sistema, voglio essere in grado di implementare nelle mie funzioni di runtime C/C++ che eseguono tutte le chiamate di sistema (file io, stdout printing, ecc.). La mia domanda è, come potrei chiamare queste funzioni dal codice del mio compilatore giocattolo, che è compilato in un passo diverso da llvm, e permettere che venga usato quando viene eseguito.