c – 二进制文件和操作系统
我目前正在学习C并且有一些(基本的)我不知道的东西以及我在不同搜索引擎上找不到任何有用的东西.
>因为所有操作系统的可执行程序(Windows / Linux / Mac)都有不同的“二进制格式” – 有什么区别?我的意思是它们都是二进制的,但是除了所有的OS API之外还有什么真的不同吗? 最好的祝福, 解决方法
Windows(PE),Linux(ELF),OS / X等(MACH-O)的可执行文件格式往往旨在解决常见问题,因此它们共享共同的功能.但是,每个平台都指定了不同的标准,因此即使平台使用相同类型的CPU,这些文件也不会跨平台兼容.
可执行文件格式不仅用于可执行文件,还用于库,它们也包含代码但从不直接由用户运行 – 只加载到内存中以满足直接可执行二进制文件的需要. 可执行文件格式的共同特征: >一个或多个可执行代码块 将这些格式与更基本的格式进行比较是很有趣的,例如古老的DOS .com文件,它简单地描述了要在下一个可用位置加载的64K各种“东西”,并且上面列出的功能很少. 在这个意义上的二进制用于将它们与以文本格式编写的“源”文件进行比较.二进制格式只是说它们是以非文本方式编码的,并不真正与0和1二进制意义相关. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |