LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
El kernel de Linux® utiliza varias capacidades especiales de la
colección de compiladores de GNU (GCC). Estas capacidades van
desde atajos y simplificaciones que proporcionan al compilador
con sugerencias sobre la optimización. Descubra algunas de estas
especiales características de GCC y aprenderá a utilizarlos en el kernel
de Linux. GCC y Linux son una gran pareja. A pesar de
que son independientes piezas de software, Linux es totalmente
dependiente de GCC a fin de que pueda soportar las nuevas arquitecturas.
Linux además explota las características de GCC, solicita prórrogas, para
una mayor funcionalidad y optimización. Este artículo explora muchos de
estas importantes ampliaciones y se muestra cómo son utilizados en el
kernel de Linux.
GCC en su actual versión estable (versión 4.3.2) admite tres versiones del estándar C:
* El original de la Organización Internacional de Normalización (ISO) del lenguaje C (ISO C89 o C90)
* ISO C90 con la enmienda 1
* La actual ISO C99 (el valor predeterminado estándar que utiliza GCC, y que este artículo da por supuesto)
Nota: En este artículo se supone que está utilizando el estándar ISO C99. Si se especifica un nivel de más de la versión ISO C99, algunas de las extensiones descritas en este artículo, podrán ser desactivados. Para especificar la norma que utiliza GCC, puede utilizar la opción -STD desde la línea de comandos. Use el manual de GCC para verificar que las extensiones están soportadas en las versiones de la norma (ver Recursos de este enlace).
Versiones aplicables.
Este artículo se centra en el uso de extensiones GCC en el kernel de Linux 2.6.27.1 y la versión 4.3.2 de GCC. Cada C se refiere a la extensión del archivo en los fuentes del kernel de Linux que puede encontrar en el ejemplo.
Las extensiones de C se pueden clasificar de varias maneras. En este artículo las divide en dos grandes categorías:
* Funcionalidad: extensiones de llevar las nuevas capacidades de GCC.
* Optimización de las extensiones le ayudan a generar código más eficiente.
La funcionalidad de las extensiones
Empecemos por explorar algunos de los trucos de GCC para ampliar el lenguaje C estándar.
Tipo de descubrimiento
GCC permite la identificación de un tipo a través de la referencia a una variable. Este tipo de operación permite una forma de lo que comúnmente se conoce como genéricos de programación. Una funcionalidad similar puede encontrarlos en muchos lenguajes de programación modernos, tales como C, Ada, y el lenguaje Java ™. Linux utiliza para construir tipos typeof que dependen de operaciones como min y max. Listado de 1 muestra cómo puede utilizar typeof para construir una macro genérico (de. /linux/include/linux/ kernel.h ).
Más en IBM.: GCC hacks in the Linux kernel
GCC en su actual versión estable (versión 4.3.2) admite tres versiones del estándar C:
* El original de la Organización Internacional de Normalización (ISO) del lenguaje C (ISO C89 o C90)
* ISO C90 con la enmienda 1
* La actual ISO C99 (el valor predeterminado estándar que utiliza GCC, y que este artículo da por supuesto)
Nota: En este artículo se supone que está utilizando el estándar ISO C99. Si se especifica un nivel de más de la versión ISO C99, algunas de las extensiones descritas en este artículo, podrán ser desactivados. Para especificar la norma que utiliza GCC, puede utilizar la opción -STD desde la línea de comandos. Use el manual de GCC para verificar que las extensiones están soportadas en las versiones de la norma (ver Recursos de este enlace).
Versiones aplicables.
Este artículo se centra en el uso de extensiones GCC en el kernel de Linux 2.6.27.1 y la versión 4.3.2 de GCC. Cada C se refiere a la extensión del archivo en los fuentes del kernel de Linux que puede encontrar en el ejemplo.
Las extensiones de C se pueden clasificar de varias maneras. En este artículo las divide en dos grandes categorías:
* Funcionalidad: extensiones de llevar las nuevas capacidades de GCC.
* Optimización de las extensiones le ayudan a generar código más eficiente.
La funcionalidad de las extensiones
Empecemos por explorar algunos de los trucos de GCC para ampliar el lenguaje C estándar.
Tipo de descubrimiento
GCC permite la identificación de un tipo a través de la referencia a una variable. Este tipo de operación permite una forma de lo que comúnmente se conoce como genéricos de programación. Una funcionalidad similar puede encontrarlos en muchos lenguajes de programación modernos, tales como C, Ada, y el lenguaje Java ™. Linux utiliza para construir tipos typeof que dependen de operaciones como min y max. Listado de 1 muestra cómo puede utilizar typeof para construir una macro genérico (de. /linux/include/linux/ kernel.h ).
Más en IBM.: GCC hacks in the Linux kernel
-
Linux
- ¿Por qué Torvalds eliminó a los encargados rusos del mantenimiento del núcleo de Linux?
- 10 cosas que siempre hago después de instalar Linux (y por qué tú también deberías hacerlo)
- 7 cosas que nunca hago después de instalar Linux (y por qué tú tampoco deberías)
- Detección de Intrusos: Snort, Base, MySQL, y Apache2 en Ubuntu Linux 7.10
- He utilizado Linux durante 30 años. Aquí hay 5 razones por las que nunca cambiaré a Windows o MacOS
- ¿Por qué no más personas usan Linux en el escritorio? Tengo una teoría que quizás no te guste.
- Los países occidentales ricos lideran la expansión mundial del petróleo y el gas
- Systemd 256.1 aborda la queja de que 'systemd-tmpfiles' podría eliminar inesperadamente su directorio /home
- Por qué un kernel Linux de distribución 'congelada' no es la mejor opción para la seguridad
- RebornOS es una versión hermosa y fácil de usar de Arch Linux con abundantes opciones de escritorio
- Linus Torvalds sobre el 'hilarante' bombo de la IA
- Cambiar la hora en Linux con Chrony
- Renombrar multiples archivos masivamente en Linux (quitar espacios, cambiar mayúsculas) a la vez en Linux
- Linux 6.9 será el primero en superar los 10 millones de objetos Git
- Zorin OS 17.1 lanzado con soporte mejorado para aplicaciones de Windows, edición educativa