Skip to content

模块进阶

跨平台设计

==不同的操作系统提供的API不同,需要对接口进行封装==

C语言本身与平台无关,是跨平台的,C语言的标准和C语言的标准库里提供的接口也和平台无关,由C语言的标准确定,所以应该尽可能的使用C语言的标准函数而不是操作系统的接口。

==不同的CPU的位宽、大小端、内存对齐==

对于使用合适的数据类型:C语言标准类型、固定大小可移植、内核数据类型

可行的方法

  • 把操作系统为相关的调用封装成接口,隐藏不同操作系统之间的差异
  • 头文件路径分隔符使用通用的"/"而不是windows下的""
  • 禁止使用编译器扩展语法或者特性,只是用C语言的标准程序
  • 尽量不要使用内嵌汇编
  • 打开所有的警告选项
  • 使用条件编译,让代码兼容每个平台

框架

**定义:**可扩展的应用程序框架,降低开发的重复工作,减轻开发的压力