可以假定一个几乎恒久不变的最小组件集,只依赖它就可以写出非常复杂的应用程序,包括GUI程序。
Linux下除了syscall你没法保证任何东西一定存在,写一个二进制发行的,跨发行版的GUI程序并不容易,甚至同一个发行版更新一下基础库你可能就得挂掉。
全静态链接可以解决不需要GUI的情况(包括socket通信),这也是现在go这么火的一个原因,但GUI你就是没办法(严格来说直写/dev/fb0画图应该可以,但那不是一般情况能考虑的)。
Windows下,大不了我只用gdi32,kernel32,user32和winsock,写出来的东西任何一个主流Windows版本都能运行,没有任何第三方依赖。
还有一个,静态链接libc你就没有dlopen了,Windows下静态链接C库你依然可以加载DLL。
编辑于 2023-07-26 12:27・IP 属地广东