在netbeans中编辑OpenCL
Editing OpenCL in netbeans
我最近在StackOverflow上读到一个关于IDE的问题,因为我一直是emacs用户,所以我决定尝试其中一个IDE,即用于编辑C++的netbeans。这太好了,我有点忘乎所以,想把OpenCL文件编辑成
现在是我的问题。我已经设置了netbeans来处理像C文件这样的opencl源文件,但这会导致一个问题。__kernel关键字使语法检查器的行为非常奇怪。
有人知道如何让netbeans忽略特定(*.cl)文件中的关键字吗?
以下解决方案看起来很有效:
#ifndef tan
#define __kernel
#define __global
#define __local
#define __private
#define get_global_id
#define get_global_size
#define get_local_id
#define get_local_size
#define barrier
#endif
由于tan是在没有头的情况下定义的,所以netbeans看不到它,并且关键字是可用的。
为了使netbeans忽略关键字,您可以在项目的代码辅助选项中的预处理器定义条目中定义ONLY_DEFINED_IN_NETBEANS
,而不在其他地方定义它。然后可以将您的代码修改为
#ifdef ONLY_DEFINED_IN_NETBEANS
#define __kernel
#define __global
#define __local
#define __private
#define get_global_id
#define get_global_size
#define get_local_id
#define get_local_size
#define barrier
#endif
netbeans解析器将忽略这些关键字。
同样的技巧也可以作为补丁应用于__restrict__
关键字上netbeans中报告的错误:
#ifdef ONLY_DEFINED_IN_NETBEANS
#define __restrict__
#define restrict
#endif
这不是你想要的答案,但对于临时编辑,只需放置类似的行
#define __kernel
#define __global
#define __local
#define __private
在cl文件的开头。这是在Eclipse中工作的。我认为它在Netbeans中也会起作用。
缺点:您需要注意删除#define
语句,否则代码将无法工作。
你可以告诉netbeans的C编辑器完全忽略语法错误,但我认为你不会幸运地教netbeans CL特定的关键字。
工具->选项->C++->构建工具
- 复制工具配置
- 给它一个名称并删除编译器的所有路径
- 使其默认
工具->选项->C++->突出显示
- 取消选中突出显示语法错误和未解析的标识符
相关文章:
- 使用std::vector的OpenCL矩阵乘法
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 编辑文件中的文本
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- SetDlgItemInt 不会更改嵌入资源的编辑框
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- C++,Qt:仅在双击后编辑qtablewidget项目
- OpenCL 内核参数中的字符***?
- 编辑字符串以包含括号 c++ 之间的变量
- Arduino函数无法编辑数组
- 调试符号中缺少 QObject 类信息(编辑但存在其他 Qt 类)
- "未定义对'WinMain@16'的引用"gcc 编辑器中的错误
- C++MFC编辑框处理双击
- 在 NVIDIA GEFORCE GTX 1050 上下载适用于 Windows 10 的 openCL 1.2
- OpenCL 是否支持向量作为内核参数?
- 是否可以使用指针访问变量以避免直接编辑变量?
- 向量加法代码 OpenCL 返回 clCreateKernel 错误 -46
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- 提高 OpenCL 的性能
- 在netbeans中编辑OpenCL