洞察纵观鸿蒙next版本,如何凭借FinClip加强小程序的跨平台管理,确保企业在数字化转型中的高效运营和数据安全?
634
2022-09-23
UNIX/LINIUX编译器相关
标准
UNIX编程环境和C程序设计语言标准化.标准化有多种,例如ISO C制定的.
UNIX标准不同,同它相关的或者能够支持的标准C库也不完全相同.例如关键字,头文件(及其相关的功能),系统接口/头文件及定义,实用程序等等,有些标准有,有些没有.
UNIX标准有多种,实现也有多种.
ISO C的头文件依赖于OS所配置的C编译器版本.
ISO C定义的限制都是编译时限制.文件
POSIX也定义了不少限制,这些大多同OS实现有关.例如登录名的最大长度,指向一个文件的连接数等等,这些限制同样可以在
其它标准也有类似的限制.通过pathconf/sysconf/fpathconf函数可以得到某种限制.
如果编写可移植性应用程序,那么应用程序应该能够满足不同平台的要求,在编译时刻需要支持同平台相关的选项,其实也就是不同标准/平台定义的功能测试宏(feature test macro).
例如,如果在编译一个程序时,希望它只是用POSIX的定义而不使用任何实现定义的限制,就需要定义_POSIX_C_SOURCE.所有POSIX头文件都定义此宏,就能排除其它的定义.
_POSIX_C_SOURCE,_XOPEN_SOURCE,__STDC__(ISO C的)都是feature test macro.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~