我不记得能够在简单的C中添加构造函数和重载操作符到结构体。在我正在阅读的一本书中,它使用了CUDA C的一个例子。
如果C和CUDA C中的结构之间有任何差异,那么它们的一般解释是什么?在本书中,他们在CUDA C中使用C ++样式结构。
答案 0 :(得分:3)
1)C struct只能包含数据成员,但CUDA C更像是可以包含函数等的C ++样式类。
2)只有CUDA结构和CUDA类之间的主要区别在于前者默认情况下所有成员都是公共的。
答案 1 :(得分:2)
CUDA C实际上是CUDA C ++,依赖于C ++编译器。
从经验nvcc
编译实际C代码时遇到问题(出于与C ++编译器相同的原因)。
曾经有一个--host-compilation
选项将编译器从C
切换到C++
但它从未起作用。 (见here)