编译完成后移植
1. 汇编语言编程几乎不能移植,而C/C++等就容易移植 有点搞不明白
汇编语言,和机器语言一样,是直接控制硬件的。
每种CPU,都有自己的机器语言,所以汇编不能移植。
c语言,并不直接控制硬件。
在不同的机器上,有相应的编译软件,可以把C,编译成自己系统的机器语言。
容易移植的关键:C语言是不直接控制硬件的。
2. 如何将VC编译好的.exe文件正确移植到其他电脑
有没有用到第三方控件,如果用了,要一起复制到其他电脑中,最好做个安装盘安装比较好。如果没有用到其它控件,又是选择的静态编译(MFC),就直接复制EXE了。
3. nodejs的包可以在其他机器编译好再移植过来吗
在window平台,.js文件默认是cscript运行的。
你可以用node 空格 js文件名的方式用nodejs运行js文件,不能直接运行。
4. 编译器 可移植性问题
你用tc编的程序,在windows下面可以运行,tc把它编译成二进制了
只要是windows系统,都能识别该二进制,换了其他的windows系统的电脑,以都能运行的
也就是说,对于windows系统来说,无论你用什么语言,如pascal,delphi,c++,java,只要你编译后生成了可执行文件
把它放到其他windows系统的电脑上,也都可以运行的
但是,就算是同一台电脑,如果你既安装了windows,又安装了linux
你在windows下编译出来的可执行文件,切换到linux系统下,就不能运行了
当然了,如果放在其他的系统上,如手机的symbian系统上,也是不能运行的
补充回答:
生成的二进制文件的移植性,是由操作系统,如windows,linux保证的
而我们说的c语言的移植性,是指c语言源码能否在其他系统上编译
比如我在windows环境下,写了一段c代码,放到linux下,仍然可以编译,这就说明它的移植性很好
所以,要提供c语言的移植性,必须使用标准的c的代码
如果你调用了windows的api,那么在linux下,是无法编译通过的
5. linux c: Qt4.7.0交叉编译后移植(tiny 6410)
请您试一下这个命令,查看您的widget调用什么库了。
$arm-none-linux-gnueabi-objmp ./widget | greep NEEDED
是不是libc库您没放到开发板/lib里?
6. C语言代码编译成的是机器码,那么怎么实现可移植性呢
C语言写的代码编译成了机器码,与编译器有关,与当前的电脑的CPU没有关系
有个概念叫交叉编译,我们做嵌入式的,就靠这个工作了
也就是在PC上编译的机器码,下载到其他的芯片里面,让它在这个芯片里运行
只要其他的电脑也支持同样的编译器产生的机器码,就可以一致到它上面
7. qt平台编写的程序,编译生成的可执行文件,可以随意移植吗
Qt的跨平台,是指“一次编写,到处编译”,也就是说你写的代码一般不需要做特殊处理就可以在不同的平台上用Qt进行编译。
对于你所说的问题,你在win7 64位系统下编译的程序,要看你编译生成的是32位程序还是64位的程序。如果是32位的程序,那么在32位和64位windows系统下运行都是没问题的;如果是64位的程序,就只能在64位windows系统上运行了。
如果你的程序没有什么配置上的特殊要求,当然就不需要相关的配置了,只要把相应的dll文件拷贝到你的程序运行目录下就可以了,你可以到网上搜下Qt程序的发布。
8. 如何将自己编译的系统移植到G1上
你需要把整个C盘(系统盘)制作成ghost镜像文件,这样就可以在另一个电脑的硬盘上 还原这个镜像文件,原来的C盘是啥文件,现在的依旧是啥文件。
不过,有一点需要注意一下,制作镜像之前,最好把原系统的 主要驱动程序都卸载了,例如 主板、显卡 驱动,这是因为在新的主机上 恢复系统的话,一旦因为主板驱动或显卡驱动不匹配,那么很有可能会出现开机后加载系统失败的状况,这个时候只能重装系统,那就事与愿违了。
PS: 如果是两台一样的主机,那么无所谓了,随便你怎么折腾都可以。
9. 交叉编译完的程序如何移植到友善之臂4412开发板
首先,你要保证你编译的程序使用的交叉编译链是开发板支持的,例如arm-linux-4.3.2,一般是在虚拟机下面的linux系统下的/etc/profile里面添加编译链路径;
接着,需要确保使用的内核是开发板目前使用的内核,一般MINI2440是使用linux-2.6.30版本的,这个要在程序的makefile文件里面改;
还有,如果你使用静态编译方式文件会比较大,但是不用依赖库,如果是用动态编译,文件就比较小,但是依赖动态库,如果放到开发板上运行提示缺少动态库,就证明你没有把动态库放进开发板的/lib里面,可以用ldd指令查看需要哪些库;
最后,记住移植的方式可以使用NFS或者TFTP,U盘也可以,放到开发板上后必须在文件存放的当前目录下./可执行文件,或者把文件放入/bin或者/sbin下面,就可以直接可执行文件,不用加./
你可以在程序里面加些调试信息输出,例如printf,以此证明有执行。