就二进制程序而言,是无法判断是什么CPU的。因为CPU或者单片机最终执行的程序代码都是二进制形式的代码。因此,不论是什么CPU的,或者什么单片机的,其二进制代码文件是一样的。不过,也没有人能读懂二进制代码文件的,所以,就没有人去过问是什么CPU或者是什么单片机的代码文件了。话说过来,正是因为没有人能读懂二进制文件,也就没有人只要二进制代码文件的,都是要源代码文件即源程序的,编程也是写源代码程序的,不可能有人直接写二进制代码文件的,而源程序编译后就是二进制代码文件了。所以,判断二进制代码文件在实际中也没有什么意义的。
所谓可执行的二进制程序,就是用二进制代码表示的一系列指令。它在不同类型的操作系统中运行时,文件名称会有不同。另外,不同计算机系统中的不同的CPU,也会有不同的指令系统。你所说的不同类型的二进制是什么意思?
纯程序段是无法判断的。exe、elf等可执行文件在头部有相关的标志位,可以查询出来
你是想判断程序是在哪个平台运行的么
你直接在不同的平台运行一下试试呗
你要是对程序的格式结构熟悉自己编个程序判断吧