是否可以将CUDA C用于面向对象的编程? CUDA C中是否有类似C ++的类?
答案 0 :(得分:3)
CUDA编译器支持所有设备的类,继承,构造函数和析构函数,但对于某些设备,这种支持不是官方支持。
并非所有设备都支持(非内联)函数调用,递归,虚函数调用,即使这样做,这是一个相当慢的操作,我强烈建议您避免这种情况,除非在您的代码中很少见。
如果我没有弄错,就不支持例外。
类似,但更广泛的问题:What are the real C++ language constructs supported by CUDA device code?
答案 1 :(得分:3)
nvcc
因为3.0版使用g ++(在Linux中)来编译主机代码,因此您可以将整套C ++功能用于主机部分。
对于设备代码,它支持受限制的C ++集。但我认为在未来的CUDA版本中它会更完整。