Qual tipo de subtração de 2 size_t's?
Qual tipo em C deve ser usado para representar a diferença entre os tamanhos de dois objetos?
Comosize_t
não está assinado, algo como
size_t diff = sizeof (small_struct) - sizeof (big_struct);
obviamente não estaria correto e parece-me que não há um equivalente assinado real.
ptrdiff_t
parece meio tentador, mas
ptrdiff_t
em tal plataforma de 32 bits também? Em caso afirmativo, a diferença entre dois objetos em tamanho exigia somente 16 bits, mas o uso de ptrdiff_t forneceria uma variável de 32 bits, tornando-a sub-ótima.Então, o que é um tipo portátil adequado para trabalhar com tal valor?
Edit:
Eu sei sobre ssize_t, mas é