gpt4 book ai didi

CUDA C 代码上的 C++ 关键字

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:10 27 4
gpt4 key购买 nike

我正在使用 CUDA 来加速 C 程序的某些部分。该程序使用一些 C++ 关键字作为标识符,因此它不会编译为 C++。既然用CUDA改了,怎么用NVCC编译呢?

例如,我得到错误:

table.h(65): error: expected an identifier

编译代码时:

struct sw_table_position {
unsigned long private[4];
};

这是完全有效的 C,但无效的 C++。我正在使用 CUDA 5。

最佳答案

NVCC 编译 C++ 代码,而不是 C 代码。即使它假装在现实中使用 C 代码,您也只会得到更像 C 的行为,而不是 C 编译器 (see this post)。出于这个原因,private 是一个关键字,不能用作标识符(与任何其他 C++ 关键字一样)。

实际上 --host-compilation C 已被弃用(它不应该与 nvcc 一起使用)因为实际上它并没有达到您的预期。 p>

关于CUDA C 代码上的 C++ 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15362678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com