2

我不记得能够将构造函数和重载运算符添加到普通 C 中的结构。在我正在阅读的一本书中,它在 CUDA C 的示例中使用了这两者。

如果 C 和 CUDA C 中的结构之间存在任何差异,对它们的一般解释是什么?在书中,他们在 CUDA C 中使用了 C++ 风格的结构。

4

2 回答 2

3

1)C结构只能包含数据成员,但CUDA C更像是C++风格的类,可以包含函数等。

2) CUDA struct 和 CUDA class 之间唯一的主要区别是前者所有成员默认都是公共的。

于 2013-11-27T04:20:26.383 回答
2

CUDA C 实际上是 CUDA C++ 并且依赖于 C++ 编译器。

根据经验nvcc,编译实际的 C 代码有困难(出于同样的原因,C++ 编译器可能会这样做)。

曾经有一个--host-compilation选项可以将编译器从 切换C到 ,C++但它从来没有工作过。(见这里

于 2013-07-16T17:49:20.283 回答