C 程序的可移植性

不是说 C 语言是一门跨平台的语言吗?不尽然,不同的平台对C语言做了不同程度的支持和拓展,所谓的拓展即是在原有的C标准的基础上,又设计和实现了高层的api。

如果只在 windows 平台下开发,或者只在 linux 平台下开发,也即只在单一平台下开发,是不会遇到程序移植性的问题的。本文以windows的观点,认识一些windows为 C 标准库做的拓展,也即如下的函数(api)不具有可移植性,也即这些函数,你可能在windows平台下用着十分顺手,如果考虑到跨平台的特性,则在开发时应当避免这个函数的调用,或者在最终跨平台使用时,使用C/C++标准中的函数或者语句的组合对这些不具可移植性的程序进行替换。

fflush()

windows 平台(vc6/vs系列编译器)支持fflush()(位于<stdio.h>)清空文件流中的数据。MSDN 对其的说明为:

fflush on input stream is an extension to the C standard(fflush 操作输入流是对 C 标准的扩充)。

int fflush(FILE * );
                // stdin/stdout/stderr 是一些特殊的FILE*

Sleep()

位于Windows.h头文件:

VOID Sleep(DWORD dwMilliseconds);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值