sto scrivendo e leggendo i registri da una mappa della memoria, in questo modo:avvertimento: puntatore di tipo 'void *' utilizzato in aritmetica
//READ
return *((volatile uint32_t *) (map + offset));
//WRITE
*((volatile uint32_t *) (map + offset)) = value;
Tuttavia il compilatore mi dà avvertimenti come questo:
warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith]
Come posso modificare il mio codice per rimuovere gli avvisi? Sto usando C++ e Linux.
espressi su 'char *' - presupponendo che si desideri * byte * offset. Fai? –
Sì, quella è la mappa corretta è nullo *, grazie. – user1876942
Devi lanciare 'map' su un puntatore a un tipo di dimensione 1. L'unico tipo garantito dallo standard per essere di dimensione 1 è' char', quindi devi lanciarlo su 'char *'. –