Especificador de formato para ‘largo’

Declaro una variable para un contador de 64 bits como:

long long call_count; 

¿Cuál es el especificador de formato que debo usar en las declaraciones impresas?

Lo intenté, %l , %ld , %ll . Ninguno parece ser correcto.

Yo uso el comstackdor Diab C para comstackr el código de mi aplicación y ejecutarlo en el sistema operativo pSOS.

Según C99, debería ser “% lld” (ver, por ejemplo, aquí ). Si Diab C no es C99, entonces tendrías que mirar los documentos del comstackdor, que parece que no puedo encontrar en línea con un rápido Google.

Es "%lli" (o equivalente "%lld" )

Microsoft y Watcom usan %I64d (ojo de capital), otros usan %lld (ell minúscula).

Este e incluso poco más se ha descrito aquí: impresión multiplataforma de enteros de 64 bits con printf

TL; DR: Puede usar la macro PRId64 (desde inttypes.h) para imprimir enteros de 64 bits en decimal de manera semi-portátil. También hay otras macros (como PRIx64).

Tal vez% lld? Creo que este es el formato para gcc, no sé nada sobre el comstackdor Diab C.

Es% lld para firmado y% llu para no firmado

 long long t1; //signed unsigned long long t2; //unsigned printf("%lld",t1); printf("%llu",t2);