编译我的java程序时出现此错误:
error: Class names, 'EnumDevices', are only accepted if annotation
processing is explicitly requested
1 error
Run Code Online (Sandbox Code Playgroud)
这是java代码(我在Ubuntu上运行它).
import jcuda.CUDA;
import jcuda.driver.CUdevprop;
import jcuda.driver.types.CUdevice;
public class EnumDevices {
public static void main(String args[]) {
CUDA cuda = new CUDA(true);
int count = cuda.getDeviceCount();
System.out.println("Total number of devices: " + count);
for (int i = 0; i < count; i++) {
CUdevice dev = cuda.getDevice(i);
String name = cuda.getDeviceName(dev);
System.out.println("Name: " + name);
int version[] = cuda.getDeviceComputeCapability(dev);
System.out.println("Version: " +
String.format("%d.%d", version[0], version[1]));
CUdevprop prop = cuda.getDeviceProperties(dev);
System.out.println("Clock rate: " + prop.clockRate + " MHz");
System.out.println("Threads per block: " + prop.maxThreadsPerBlock);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是javac命令:
javac -cp /home/manish.yadav/Desktop/JCuda-All-0.3.2-bin-linux-x86_64 EnumDevices
Run Code Online (Sandbox Code Playgroud)
我该如何编译这个程序?
aio*_*obe 109
您至少需要.java在此行中将扩展名添加到文件名中:
javac -cp /home/manish.yadav/Desktop/JCuda-All-0.3.2-bin-linux-x86_64 EnumDevices
Run Code Online (Sandbox Code Playgroud)
来自官方常见问题:
只有在明确请求注释处理时,才接受类名"HelloWorldApp"
如果收到此错误,则在编译程序时忘记包含.java后缀.请记住,命令是javac HelloWorldApp.java而不是javac HelloWorldApp.
此外,在您的第二个javac示例中(您实际包含的内容.java),您需要包含编译所需的所有必需的.jar文件.
Tom*_*eld 15
我也被这个难倒,因为我包括.Java扩展......然后我注意到了首都J.
这也会导致"注释处理"错误:
javac myclass.Java
Run Code Online (Sandbox Code Playgroud)
相反,它应该是:
javac myclass.java
Run Code Online (Sandbox Code Playgroud)
小智 9
使用javac ClassName.java编译程序,然后使用java ClassName执行编译后的代码。您不能只将 javac 与 ClassName 混合使用(没有 java 扩展名)。
错误“只有在显式请求注释处理时才接受类名称”可能由以下一种或多种原因引起:
这可能不是导致此错误的完整原因列表,但这些是我目前所知道的原因。