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

305
Vistas
¿Hay alguna forma de definir una macro de preprocesador que incluya directivas de preprocesador?

Hay algunos bucles que me gustaría indicarle al compilador que se desarrollen con un código como el que se muestra a continuación. Es bastante largo y prefiero no copiar y pegar.

¿Pueden las sentencias #define definir macros de preprocesador?

Intenté esto:

 #define foo \ #ifdef __GNUC__ \ #if __GNUC__ >= 8 \ #pragma GCC unroll 128 \ #pragma GCC ivdep \ #endif \ #endif \ #ifdef __clang__ \ #pragma clang loop vectorize(enable) interleave(enable) \ #endif

pero cuando uso foo en el código cpp muestra que se expande de forma inválida como:

 #ifdef 4 #if 4 >= 8 #pragma GCC unroll 128 #pragma GCC ivdep #endif #endif #ifdef __clang__ #pragma clang loop vectorize(enable) interleave(enable) #endif #ifdef 4 #if 4 >= 8 #pragma GCC unroll 128 #pragma GCC ivdep #endif #endif #ifdef __clang__ #pragma clang loop vectorize(enable) interleave(enable) #endif
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No puede definir directivas de preprocesamiento de la manera que muestra en la pregunta.

Sin embargo, es posible que pueda usar el operador _Pragma para su propósito:

 #if defined __GNUC__ && __GNUC__ >= 8 #define foo _Pragma("GCC unroll 128") _Pragma("GCC ivdep") #elif defined __clang__ #define foo _Pragma("clang loop vectorize(enable) interleave(enable)") #else #define foo #endif
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