网站首页 新闻首页 网页设计图形动画软件编程网站开发办公软件操作系统数据库网络技术认证考试范文资料黑客攻防 书籍教程 进入论坛

java中是否能嵌入伪指令呢

http://www.diybl.com/ 2008-2-22  网络 点击:  [ 评论 ]
文章搜索:    【点击打包该文章】

都知道在C/C++语言中可以嵌入汇编代码,是否能在Java中也嵌入伪指令呢?

例如如下代码

//计算a和b运算结果,可能是相加,也可能是相减,由oper决定。
//变量oper,可能是96(iadd,加操作),也可能是100(isub,减操作),当然也可以是乘或者除
public int calculator(int a,int b,byte oper){
     ${
          iload a;//a变量的值入栈
          iload b;//b变量的值入栈
          # oper;//执行指定操作符,可能是96(iadd加操作),也可能是100(isub减操作)
          istore a;//计算结果存入a变量
     }
}

其中$和#作为标识符,$块表示一段伪指令代码,#表示执行一个不确定的操作指令。

编译器在编译的时候需要验证${...}块执行前后的堆栈内容要完全相同,还要将伪指令所在行号写入class文件的行号表。

我想如果用普通的java编程方法好像很难能达到上面4行代码如此精简的效果吧?

这个例子很简单,没有什么实际的用处,只是表达一下想法罢了。



如果图片或页面不能正常显示请点击这里 站内搜索:   
上一篇文章:Nested嵌套迭代
下一篇文章:RAP简介

文章评论

请您留言