2010-03-06 6 views

답변

24

일부 사용자 (CUDA SDK 포함)는 CUDA 헤더 파일에 .cuh을 사용하고, 헤더에 장치 코드를 포함하면 도움이 될 수 있습니다. 그러나 실제로 헤더 파일의 확장자 (어떤 컴파일러를 사용할 것인지 결정하는 소스 파일과 달리)에는 특별한 의미가 붙지 않으므로 개인적으로 나는 .h을 사용합니다.

+0

감사합니다. 어떤 경우에는 헤더에 장치 코드가 있고 파일 확장명을 명확히하여 사람들이 CUDA가 아닌 소스 파일에 포함시키지 않도록하고 싶습니다. 그래서 .cuh는 올바른 대답 인 것 같습니다. . (이것은 또한 C++ .hpp 헤더를 C .h. 헤더와 구별하는 환경이기 때문에 현지 사례가 있습니다.) 그렇지 않으면 예 .h가 적합합니다. –

+1

Linux 버전의 Eclipse로 작업 할 때 실제로 포함 파일의 확장자가 무엇인지는 매우 중요합니다. 확장자가 .h 인 Eclipse는 내용을 올바르게 형식화하지 않습니다. 나는 그것이 잘못된 확장으로 인한 것임을 깨달을 때까지이 문제를 거의 2 년 동안 가지고있었습니다. 확장자를'.cuh '로 변경하면 내 문제가 해결되고 이제는 Eclipse가 마침내 올바르게 include 파일을 포맷합니다. Up Mister Tom :-) –

4

아니요 - 헤더 파일에 .h을 사용하십시오. CUDA 소스 파일은 다른 접미사를 사용하여 빌드의 다양한 소스 파일이 올바른 컴파일러 (makefile 규칙을 생각하는)로 컴파일되도록합니다.

+6

제 생각에는 CUDA 전용 코드가있는 헤더에 다른 확장자를 사용하는 것이 좋습니다. 이렇게하면 일반 C++ 파일에 포함하려는 사람들을 피할 수 있습니다. – shinjin