在3A6000上编译的程序能不能在3A5000上跑?
龙芯吧
全部回复
仅看楼主
level 1
materials
楼主
之所以问这个问题是因为在某个b站视频的评论区有人提到在3A6000上编译的程序不能在3A5000上跑,个人对这个说法感到好奇,所以想问下大家
2025年07月05日 14点07分
1
level 14
不知为不知🛰️🛸
你在龙芯吧发帖也不少了,回帖+经验怎么还是1级,
先统一下系统,系统不同,就算同类CPU,程序怎么跑,x86+Windows的程序怎么跑到x86+Linux上,甚至x86+Linux某个版本的程序都跑不到x86+Linux别的版本上
2025年07月05日 15点07分
2
materials
我从不关注任何贴吧,因为意义不大,加上贴吧本来出了名的烂,要不是贴吧里活跃的人比论坛多我才不想在贴吧发帖
2025年07月05日 15点07分
龙芯贴吧你好
@materials
抛开Linux的包依赖,3A6000上编译的能在3a5000上的跑。
2025年07月07日 04点07分
level 1
tainlangxing
应该是3A5000编译的程序能在3A6000上跑,反之则未必。
2025年07月05日 15点07分
3
level 1
gh_2016
如果是同一工具连编译的可以运行,比如都是旧世界loongnix下面的,同样是新世界的也行,现在新旧2种并行阶段。
2025年07月05日 22点07分
4
level 9
花样划水运动员
应该是华为广告员@eidosper说的吧,怎么可能不行,基础指令集都是公开的,两代CPU是没有什么变化的,只有专为翻译准备的指令集没有公开而且有拓展。优化肯定是基于基础指令集优化啊。
2025年07月06日 03点07分
5
花样划水运动员
而且这个人非常有意思,我回了他一句,“那华为的麒麟990,9000C,9006C还要三套不同的操作系统,鸿蒙同一个API一年可以变好几次”,它就拉黑我了
2025年07月06日 03点07分
百º熊
@花样划水运动员
因为你说的是事实啊。而它只接受颅内臆测
2025年07月06日 03点07分
level 13
百º熊
相同环境编译出来的,
自然能互相通用了。
这有啥奇怪的。
2025年07月06日 03点07分
6
百º熊
龙芯又不是ARM和RV
2025年07月06日 03点07分
level 12
天台乘凉
写的helloworld跑一下试试就知道了
2025年07月07日 02点07分
7
吧务
level 15
guee
没问题。下面这个软件应该算是比较复杂的软件了吧,有文件读写、图像编码解码、图像合成、有AI运算、有摄像头预览(支持解码视频流)……
我在龙芯3A6000上开发、编译、打包,然后在龙芯3A5000上直接安装运行无误。
2025年07月07日 04点07分
8
☞影子枫阁
2025年07月07日 04点07分
affoto
2025年07月07日 05点07分
level 13
loli_island
3a6000跟3a5000是同一个系统,指令集小优化不影响通用,只要你安装同一个版本的系统就没问题。龙芯不是arm,不是rv,这两怪物喜欢一块主板一个系统,拿嵌入式的方法玩桌面pc
2025年07月07日 04点07分
9
level 13
桜坂_工兵
不是说“在3A6000上”编译的程序不能在3A5000跑,而是“为3A6000或更高型号优化的”程序不能在3A5000跑——3A5000的LA464微架构年代较早,还是第一款龙架构型号,因此有个别bug导致它不能兼容LA64 v1.1的个别行为。
例如有的原子操作在3A5000上需要多执行一个屏障,否则可能失去原子性;又或者32位的除法、取余操作,按理说不应该管64位寄存器的高32位取什么值,但3A5000就要求它们必须是低32位的符号扩展,否则结果错乱。这些操作虽然种类少,但只要程序复杂度到了一定程度就几乎必然涉及,所以现阶段为了最广泛的硬件兼容性——不抛弃5000系列的用户,就只能一律针对 LA64 v1.0 编译、优化了。
2025年07月07日 12点07分
10
level 16
xxylnq691001
应该没问题
2025年07月08日 02点07分
11
1