我当然知道, mac上编译的程序放在linux上无法运行。但我今天居然无意中真就这么干了, 还想, 咦, 怎么运行出错? 也真是傻X了。
ubuntu@VM-0-15-ubuntu:~$ ./s
-bash: ./s: cannot execute binary file: Exec format error
ubuntu@VM-0-15-ubuntu:~$
ubuntu@VM-0-15-ubuntu:~$
ubuntu@VM-0-15-ubuntu:~$
ubuntu@VM-0-15-ubuntu:~$ file s
s: Mach-O 64-bit x86_64 executable
ubuntu@VM-0-15-ubuntu:~$
显然, 系统不同, 文件内部结构都不一样啊, linux操作系统无法识别。
可以在mac上搞个linux虚拟机,再编译, 再放到目标linux机器上运行, 搞定。