Qual é a maneira mais fácil de encontrar o tamanho de um tipo sem compilar e executar código?
Eu escrevi um script bash para determinar o tamanho degcc
tipos de dados de (por exemplo,./sizeof int double
produz os tamanhos respectivos deint
edouble
) agrupando cada um de seus argumentos nos seguintesP()
macro e, em seguida, compilar e executar o código.
#define P(x) printf("sizeof(" #x ") = %u\n", (unsigned int)sizeof(x))
O problema é que isso é relativamente lento (leva um segundo inteiro!), Especialmente a etapa de vinculação (desde a compilação com-c
ou-S
praticamente não leva tempo, assim como a execução do binário gerado). Um segundo não é realmente tão lento por si só, mas se eu usasse esse script em outros scripts, isso aumentaria.
Existe uma maneira mais rápida e menos indireta de descobrir quais tamanhosgcc
usa para tipos de dados?