asm / atomic.h compilazione errore
-
24-09-2019 - |
Domanda
Ho un vecchio progetto di C ++ e sto avendo problemi costruirlo. Per un certo file ricevo il seguente tipo di errori:
errore: ‘atomic_t’ non è stata dichiarata in questo ambito
e altri per altri identificatori come atomic_read, atomic_inc, etc. Il file ha un include per ASM / atomic.h, ma non riesco a trovare il file di intestazione sul mio sistema. Sto utilizzando SUSE Linux Enterprise Desktop 11 e gcc 4.3.2.
Potrebbe esserci qualche pacchetto che ha bisogno di essere installato, o un'intestazione alternativa da inserire per quei identificatori?
Soluzione
Queste sono destinate ad essere header del kernel, non proprio per le applicazioni da usare. Sono i prototipi per alcuni test atomico e insieme, di incremento, decremento ecc che sono implementati in assembler.
quindi, anche se si trovano i file di intestazione, si avrà ancora bisogno del .o dal asm o le fonti .asm.
Questi non sono i file che state cercando, ma sono molto probabile che sia la stessa o simile.
http: // GitHub com / github / linux-2.6 / blob / 3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0 / arch / sh / include / asm / atomic.h http://github.com/apache/stdcxx/blob/7b51a66e3db202b7d317c74a5666aaeef7b4ebd0/ src / atomic.asm