对于大学的项目,我需要扩展现有的C应用程序,该应用程序最终将运行在各种商业和非商业unix系统(FreeBSD,Solaris,AIX等)上.
当我想编写一个最便携的C程序时,我需要考虑哪些事项?
Evi*_*ach 23
我能给出的最好建议是每天转移到不同的平台,随时进行测试.
这将使平台差异像拇指一样突出,并同时教你可移植性问题.
保存跨平台测试到最后,将导致失败.
除此之外
通常最好将编译器警告级别设置得尽可能高,以查看编译器可以抱怨的各种事情.
我曾经写过C实用程序,然后我会支持16位到64位架构,包括一些60位机器.它们包括至少三种"字节序",不同的浮点格式,不同的字符编码和不同的操作系统(尽管Unix占主导地位).
有了这些,如果你避免多次写东西和#ifdef代码的主要部分的诱惑,你会发现跨不同平台的编码和测试有助于更快地发现错误.你最终会制作出更有纪律,可理解,可维护的程序.