Domanda

In generale, quello che ho osservato usando nm su Linux è quello T I nomi dei simboli (a cui mi interessa) rimangono coerenti tra i diversi computer anche quando non sto usando extern "C". La mia osservazione è corretta?

Nota Sto usando GCC su tutti i computer.

È stato utile?

Soluzione

Sarebbe molto insolito per il computer, l'ora del giorno o il tempo per influire sul manglini di nome.

Ciò che è più probabile causare deviazioni sono le differenze nella versione del compilatore.

Ma molte piattaforme Linux definiscono un'interfaccia ABI (applicazione binaria) per C ++ che include, tra le altre cose, le regole di mangling. Su queste piattaforme lo stesso codice sorgente si compilerà con gli stessi nomi mutilati indipendentemente dai livelli di ottimizzazione, dalle versioni del compilatore, dal nome host, dal numero di serie del disco rigido, dall'ora del giorno, dal tempo, sia che la tua squadra sportiva preferita abbia perso la scorsa settimana o che qualsiasi fattore non sia Citato esplicitamente nell'ABI.

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