Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

231
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!