Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

238
Vistas
¿Cómo puedo encontrar el archivo .h correspondiente que incluye la función "cacheflush"?

Traté de usar la función cacheflush en mi computadora Linux X86. Sin embargo, aunque las páginas del manual indican que la función se puede encontrar en los archivos ".h" <sys/cachectl.h> <asm/cachectl.h> o <asm-generic/cachectl.h>, mi compilador GCC no puede encontrar estos archivos.

¿Que puedo hacer? es decir, ¿cómo puedo incluir la función en mi programa para que GCC la reconozca?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

No estoy seguro, pero lee man cacheflush , creo que no puedes.

Nota: en algunas arquitecturas, no hay contenedor glibc para esta llamada al sistema; ver notas.

Variantes específicas de la arquitectura Glibc proporciona un envoltorio para esta llamada al sistema, con el prototipo que se muestra en SYNOPSIS, para las siguientes arquitecturas: ARC, CSKY, MIPS y NIOS2.

En algunas otras arquitecturas, Linux proporciona esta llamada al sistema, con diferentes argumentos:

M68K:

 int cacheflush(unsigned long addr, int scope, int cache, unsigned long len);

SH:

 int cacheflush(unsigned long addr, unsigned long len, int op);

NDS32:

 int cacheflush(unsigned int start, unsigned int end, int cache);

En las arquitecturas anteriores, glibc no proporciona un envoltorio para esta llamada al sistema; llámalo usando syscall(2).

Si entiendo bien, glic solo proporciona cacheflush para 4 arquitecturas.


Si realmente desea llamar a esta función, gcc proporciona específicamente __builtin___clear_cache() (búsquelo en la página de manual), pero nuevamente, eso no será portátil para otros compiladores.

over 4 years ago · Santiago Trujillo Denunciar

0

Simplemente puede buscar funciones de cacheflush en el archivo de encabezados con un grep: grep -rin cacheflush /usr/include

Dependiendo de su compilador, los archivos de encabezados se pueden ubicar en /opt/path/to/your/compiler , verifique la ruta de inclusión proporcionada a su enlazador.

over 4 years ago · Santiago Trujillo Denunciar

0

Si bien no es lo que pedí, en Intel x86 se pueden vaciar páginas invalidadas usando comandos de inteligencia intrínsecos, es decir, _mm_clflushopt y _mm_clflush.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda