10.7 有没有把老的C程序转化为ANSI C或相反的工具

有两个程序protoize 和unprotoize 可以在有原型和无原型的函数定义和声明之间相互转换。

这些程序不能完全完成“经典” C 和ANSI C之间的转换。

这些程序是FSF 的GNU C 编译器发布的一部分; 参加问题18.3。

GNU GhostScript 包提供了一个叫ansi2knr 的程序。

从ANSI C 向旧式代码转化之前, 请注意这样的转化不能总是正确和自动。

ANSI C 引入了K&R C 没有提供的诸多新功能和复杂性。

你得特别小心有原型的函数调用; 也可能需要插入明确的类型转换。

参加问题11.4 和11.28。

存在几个类型生成器, 其中多数都是对lint 的修改。

1992 年3 月在comp.sources.misc 上发布了一个叫做CPROTO 的程序。

还有一个叫做“cextract” 的程序。

很多供货商都会随他们的编译器提供类似的小工具。

参见问题18.18。

但在为“窄” 参数的旧函数生成原型可要小心; 参加问题11.4。

永不止步步 发表于01-16 16:11 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67417个|学分:363791个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号