Sto lavorando su alcuni moduli del kernel linux e ho una domanda relativa a un problema di caricamento circolare.Il caricamento dei simboli esportati può essere ritardato?
Il modulo A carica prima ed esporta molti simboli per l'uso del modulo B o C. Il modulo B o C viene quindi caricato in seguito e i simboli esistono per il loro uso.
Tuttavia, ora trovo che il modulo A richiede un simbolo da entrambi i moduli B o C, ma solo durante il runtime e non è necessario per inizializzare il modulo. Quindi, ovviamente, quando A carica, scopre che il simbolo non esiste ancora. Ho persino avuto il simbolo contrassegnato come extern nel modulo A, ma non ha funzionato neanche.
E 'possibile ritardare il caricamento di un simbolo dopo che il modulo A è stato caricato, anche se non esiste ancora fino a quando non è stato caricato B o C?