Linker 是否可以在另一个操作系统上运行为一个操作系统构建的可执行文件?
我知道Wine/Darling和其他兼容层,但我想知道这样做是否可行:Linker 是否可以在另一个操作系统上运行为一个操作系统构建的可执行文件?,linker,cross-compiling,emulation,wine,objcopy,Linker,Cross Compiling,Emulation,Wine,Objcopy,我知道Wine/Darling和其他兼容层,但我想知道这样做是否可行: 1.在OS X上构建一个简单的hello_world.c程序。 2.使用objcopy/objconv/其他工具,将机器代码复制到Linux可执行文件中,并用对glibc的调用替换对OSX libc的调用。如果它是另一个动态链接到其他OSX库的可执行文件,请复制这些库。 3.在Linux上运行该程序,假设它可以运行。 示例hello\u world.c: #include <stdio.h> int main(v
1.在OS X上构建一个简单的hello_world.c程序。
2.使用objcopy/objconv/其他工具,将机器代码复制到Linux可执行文件中,并用对glibc的调用替换对OSX libc的调用。如果它是另一个动态链接到其他OSX库的可执行文件,请复制这些库。
3.在Linux上运行该程序,假设它可以运行。
示例
hello\u world.c
:
#include <stdio.h>
int main(void) {
printf("Hello World");
return 0;
}
#包括
内部主(空){
printf(“你好世界”);
返回0;
}
- 注册使用
- 堆栈对齐
- 在寄存器中传递小结构