0

我是Java新手。我想注释(使用字符串)可以转换为 LLVM IR 的不同 Java 变量(并使用 llvm.var.annotation 或 llvm.global.annotations 获取它们)。对于 C/C++,我使用:

__attribute__((annotate("RED"))) static int a;

所以a用值“RED”注释。我的问题是,我如何在 Java 中制作这个(使用 vmkit for LLVM)?我想我必须使用@,但我不知道我必须将哪些库添加到 vmkit 以及 Java 中的注释如何工作?

谢谢您的回答 !

4

1 回答 1

1

在此链接http://docs.oracle.com/javase/tutorial/java/annotations/中查找注释教程

您需要做的是定义注释而不是进行某种反思。这是@Red 注释

package test;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;


@Retention(RetentionPolicy.RUNTIME)
public @interface Red {

}

以及如何使用它

public class AnyClass {

    @Red
    public int a = 5;

}

这是一个获取注释字段的简单测试

package test;

import java.lang.annotation.Annotation;
import java.lang.reflect.Field;

public class TestClass {

    /**
     * @param args
     */
    public static void main(String[] args) {
        AnyClass anyClass = new AnyClass();
        Class clasz = anyClass.getClass();
        Field [] fArray = clasz.getFields();
        Annotation[] anArray = clasz.getAnnotations();
        for(Field f : fArray) {
            System.out.println("wink" + f.getAnnotations()[0].annotationType());
        }

    }

}
于 2013-06-08T15:36:06.000 回答