【问题标题】:Eclipse can't read code format of RenderScript .rs fileEclipse 无法读取 RenderScript .rs 文件的代码格式
【发布时间】:2014-08-24 05:22:09
【问题描述】:

我对 Android 有很好的 Java 知识(开发 1 年),现在我正在尝试学习 Android RenderScript API(但没有太多的文档),我遇到了一些问题用它。

我了解到我们需要在project.propert 上添加以下几行:

renderscript.target=19
renderscript.support.mode=true

我在com.mypackage.script 中创建了一个名为FireworkScript 的.rs 文件,其中包含以下内容:

#pragma version(1)

#pragma rs java_package_name(com.mypackage.script)

#include "rs_graphics.rsh"

int root(){

    return 0;

}

void init(){

} 

最初我在使用 RenderScript v8 支持库时遇到了一些问题,但我通过手动将 renderscript-v8.jar 添加到我的项目(构建路径 >> 配置构建路径 > > 库 >> 添加外部 JAR)

正如预期的那样,Eclipse 在 gen 文件夹生成 ScriptC_FireworkScript.java,在 bin/res/bc/raw

生成 fireworkscript.bc

但问题是:Eclipse 不会“读取” .rs 文件中的代码,使用 eclipse 写入此文件与在任何单个文本编辑器上写入相同。

我知道上面的示例需要一个内核,但是如果 Eclipse 不读取它的代码格式,我该怎么写呢?我知道 C 中简单的 typedef struct 构造函数,但我不熟悉 C99 中的内核声明和参数

我只能使用project > clean 查找错误,它似乎“刷新”了编译器,但无论如何,我没有任何识别帮助、文本着色等任何东西,只有一个带有黑色文本的文件,什么我能做些什么来解决这个问题?我还尝试使用 Dev C++Notepad++ 打开 .rs 文件,但结果相同。也许我的机器不知道 C99 代码格式?

有什么我可以做的吗?

提前致谢。

我正在使用带有 ADT 插件的 Eclipse Luna,SDK 构建工具目前在 23.0.2 上,并且所有内容都更新到了最新版本。

【问题讨论】:

  • 一个简单的解决方法:从 Renderscript "*.rs" 文件中,插入一行 #include <YourRenderscriptSource.h>,然后将所有的 Renderscript 代码放在那里(或者那些突出显示的代码行)你)。
  • Google 正在向 Android Studio 发展。 Android ADT 是 Google 提供的插件;因此,解决这个问题不是 Eclipse 的责任。不要期望在 Eclipse Android ADT 上有太多的 Google 增强功能。
  • 谢谢@rwong,非常感谢您的帮助,谢谢!

标签: android c eclipse c99 renderscript


【解决方案1】:

RenderScript 用于其内核代码的 C99 规范只是 C,因此您可以使用任何能够编辑 C/C++ 文件的编辑器,例如您提到的那两个。这应该至少可以帮助您获得语法突出显示。您只需将它们配置为将 .rs 文件视为 C 代码。例如,请参阅 this page,它解释了如何在 Notepad++ 中执行此操作。

如果您真的想将所有内容都保留在 Eclipse 中,您也可以尝试为 Eclipse 安装 C 开发环境,但这可能只是为了在此处突出显示语法。我怀疑你会得到任何实际的上下文/函数帮助或更好的错误报告,因为 RS API 仍然没有很好地集成到任何 IDE 中。

【讨论】:

  • 谢谢,它真的对我有帮助,但你知道这对于 Eclipse 是否“正常”?无论如何,+1
  • 据我所知,目前 Eclipse 就是这样。我确信(我希望)他们最终会将 RS API 更好地集成到 ADT 中,以提供更好的错误反馈等(甚至可能是 RenderScript 调试),但现在就是这样。我经常和 RS 一起工作,而且我还必须像你提到的那样不断清理项目,等等。
  • 感谢您的帮助。您说您与 RS 合作,您对以下问题有任何了解吗?我在这里发布了问题,请看一下并告诉我您的想法。什么都能自学,只想解决缺课问题:stackoverflow.com/questions/24560313/…
猜你喜欢
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-21
  • 2014-07-04
  • 1970-01-01
  • 2013-02-18
  • 1970-01-01
相关资源
最近更新 更多