2010-03-06 21 views

Respuesta

24

Algunas personas (incluido el SDK de CUDA) usan .cuh para archivos de encabezado CUDA, y si incluye el código del dispositivo en el encabezado, quizás esto pueda ayudar. Sin embargo, realmente no hay un significado especial asociado a la extensión del archivo de encabezado (a diferencia del archivo fuente donde determina qué compilador usar) así que personalmente me quedo con .h.

+0

Gracias! En algunos casos, tengo un código de dispositivo en el encabezado, y me gustaría dejarlo claro en la extensión de archivo para que las personas no lo incluyan en archivos fuente que no sean CUDA, por lo que .cuh parece la respuesta correcta para eso . (Este también es un entorno que distingue los encabezados .hpp de C++ de los C .h, por lo que hay un precedente local). De lo contrario, sí, .h tiene sentido. –

+1

Cuando trabajas con la versión de Linux de Eclipse, es muy importante qué extensión tiene el archivo de inclusión. Con una extensión '.h', Eclipse no formatea correctamente el contenido. Tuve este problema casi 2 años hasta que me di cuenta de que puede deberse a una extensión incorrecta. Al cambiar la extensión a '.cuh' se solucionó mi problema y ahora Eclipse finalmente formatea correctamente el archivo de inclusión. Hasta el señor Tom :-) –

4

No, solo use .h para archivos de encabezado. Los archivos fuente de CUDA tienen un sufijo diferente para facilitar el aseguramiento de que los diversos archivos de origen compilados se compilan con el compilador correcto (piense en las reglas de makefile).

+6

En mi opinión, es una buena costumbre usar extensiones diferentes para los encabezados que tienen código específico de CUDA. De esta forma, puede evitar que las personas intenten incluirlos en archivos normales de C++. – shinjin

Cuestiones relacionadas