我想知道,为什么在没有包含胶水代码的情况下让程序在许多操作系统(如Windows和Linux)中运行太难了.它们都共享相同的架构(x86),所以我认为它应该很简单.此外,C是标准化的,那么为什么这些操作系统的实现不同?为什么难以遵循标准并为所有操作系统实现通用库?
我用C编程了将近两年,目前我使用glib来实现可移植性.
我不是在寻找这个问题的解决方案,我已经为此目的使用了glib.但是我想知道为什么它是必要的,为什么制造一个没有差异的C库是很困难的.
[加]
例如,当我在C/Glib中编写程序时,我使用gchar/gint等类型确实是C基元类型,在wikipedia中关于glib,它说:
"特征
在基本层面上,GLib提供了类型定义,取代了C原型char,int,float等,以提高可移植性"
为什么C原始类型不可移植和整个语言?
感谢所有的答案.