significa que newton nanómetro nanometro micra metros metro equivalencia c linux kernel

newton - que significa nm



¿Qué significa[N... M] en los inicializadores agregados C? (1)

Es la inicialización usando Inicializadores Designados .

La inicialización basada en rango es una extensión gnu gcc.

Para inicializar un rango de elementos con el mismo valor, escriba [first ... last] = value . Esta es una extensión de GNU. Por ejemplo,

int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 };

No es portátil. Compilando con -pedantic con decírtelo.

¿Cómo funciona aquí?
El preprocesador reemplaza #include <asm/unistd.h> con su contenido real ( define constantes y tipos simbólicos misceláneos y declara funciones misceláneas ) en la construcción basada en rango, que luego se usa para inicializar la matriz de punteros.

Desde la línea 123 de sys.c :

void *sys_call_table[__NR_syscalls] = { [0 ... __NR_syscalls-1] = sys_ni_syscall, #include <asm/unistd.h> };

sys_call_table es un puntero genérico para matrices, puedo ver eso. Sin embargo, ¿cuál es la notación?

[0 ... __NR_syscalls-1]

¿Qué es ... ?

EDITAR:
Aprendí otro truco C aquí: #include <asm/unistd.h> será preprocesado y reemplazado por su contenido y asignado a [0 ... _NR_syscalls-1] .