2012-01-24 9 views
25

Soy un novato en clang. He leído un artículo sobre la transformación de fuente a fuente de cuda a opencl usando el front end del compilador clang.¿Qué hace la opción clang -cc1?

Puede alguien decirme por qué la opción -cc1 se utiliza a veces? Cualquier ayuda sería muy apreciada ya que esta puede ser una pregunta muy básica.

Gracias

Respuesta

24

El compilador Clang front-end tiene varias características específicas Clang adicionales que no estén expuestos a través de la interfaz del controlador de compatibilidad de GCC. El argumento -cc1 indica que se debe usar el front-end del compilador, y no el controlador. La funcionalidad clang -cc1 implementa la funcionalidad del compilador central.

Así que, simplemente hablando. Si no proporciona -cc1, entonces puede esperar la "apariencia &" de GCC estándar. Esa es la gran mayoría de los indicadores del compilador que funcionan exactamente como esperaría que trabajen con GCC. Si pasa la opción "-cc1", obtendrá el indicador del compilador de Clang establecido. Por lo tanto, podría haber diferencias con GCC.

Espero que lo aclare un poco.

8

El compilador habitual consiste en el llamado controlador de compilación, que sabe cómo ejecutar el compilador, ensamblador, enlazador, etc. y el compilador que solo toma el código fuente (a veces ya preprocesado) y emiten el código ensamblador/objeto.

Clang implementa todos estos componentes en un solo binario, la diferencia es solo la línea de cm. Aquí clang -cc1 invoca el compilador con su conjunto de opciones internas/no documentadas, etc.

+0

¿Sabe usted sobre cuda support in clang 3.0 ?? ¡Todavía no puede reconocer las llamadas al kernel! – SRINI794

+0

@srinivasprabhu, intenta preguntar en la lista de correo de cfe-dev –

Cuestiones relacionadas