至于你问的用什么语言,那是次要的,只要可以 *** 作硬件的语言都可以,工业上常用的是c和汇编。C++也是可以的,但是C++更适合面向对象编程,而嵌入式开发是面向过程的结构化编程,所以我个人觉得C更适合。
至于开发环境,有很多编译工具可以选择,比如GCC,CYGWIN,最近Keil被收购以后也可以对ARM芯片进行开发了
exe只是一个微软给应用程序定义的一个文件格式,如apple的app后缀名一样决定能否运行的最关键因素是机器码,如上面兄弟所说,PC平台编译出来的可执行文件,即如exe,在ARM平台上是无法运行的
同理,WinCE上运行的ARM平台编译的exe也是无法再PC上运行的
但是
关于Windows8支持ARM的问题,并不能简单的从exe不可跨平台运行来看
Windows8支持ARM意味着什么?
首先,不是说一个exe可以跨x86(即PC的指令集)和ARM,而是,软件开发商只要在工具上改动一个选项,换个SDK就可以不用改变或者很少改变源码来编译出来可以在其他平台上的东西
举例来说,开发一个游戏,使命召唤,现在可以说移植到WinCE的ARM平台基本不可能,但是Windows8上,可能只是换个SDK就可以编译出ARM平台上的可运行程序,成本大大减少,这样可以发布PC版和ARM版,非常简单,这就会使后面开发的软件都可以很轻易地实现跨平台
而且,从技术角度,完全可以把PC和ARM的机器码编译到一个可执行文件中,然后 *** 作系统自动根据现在的运行在PC还是ARM上,决定跳转到哪个机器码执行,对于小程序完全可行
总的来说,Windows8支持ARM会使运行在PC和ARM上的 *** 作系统统一起来,API接口也统一起来,大大减少跨平台开发的成本,因为你需要跨的只是硬件平台,即编译器,而不需要跨 *** 作系统平台
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)