最近我在C中遇到了asm保留词,我想利用它来避免某些C语义规则:特别是,我想从函数中修改一个变量:
int a = 5;
asm("asm code to change a from 5 to, like, 6")
int main() {
printf("a equal to %d\n", a);
}
现在,从我的计算机科学课程中,我知道组装是依赖于平台的,所以它的使用应该是非常有限的。然而,我看到了一些反复的指令,如MOV或ADD。
我的问题是:
尽管程序集依赖于全局平台,但是否有一个子集为所有汇编程序所理解?我的意思是,如果我编写asm(
对于移动应用,我知道它们可以用Java For Android和Objective C for iPhone编写。有人向我简要地提到,实际上在不同的手机上使用一种通用语言的应用程序使用language C#会更好。他暗示说,一种语言对安卓和iPhone上的应用程序来说总是更好的,但我知道这听起来太好了,以至于不可能是真的。
在两种不同类型的手机上使用两种不同语言(java / objective c)的应用程序与在两种手机上运行的应用程序使用一种语言(c#)有什么不同?
这两种方法的优缺点是什么?