gpt4 book ai didi

c - 在两个重格式化的 C 文件之间获取差异

转载 作者:太空狗 更新时间:2023-10-29 15:53:28 27 4
gpt4 key购买 nike

我最近从某人那里收到了我维护的一些软件的一项相对重要的功能。不幸的是,他没有提供差异,而是只给了我他的整个源代码树,更糟糕的是,他似乎使用了某种代码美化器,远远超出了我使用或看到的任何东西,包括诸如

  • 在行内的不同点插入和删除空格。
  • 将一些条件语句分成方括号 block ,将一些条件语句分成单行条件语句,将一些条件语句分成有换行但没有括号的条件语句。
  • 将一些合并的语句移到单独的行中,并将一些单独的语句合并到单行中。
  • 在函数参数等位置插入和删除换行符。
  • 等等

在他的版本和旧版本的文件上运行缩进 (BSD) 不会使它们彼此接近。使用 astyle 也不行。在任何一种情况下,仍然有很多不同格式样式的残余。

是否有任何 C 格式化程序基本上可以删除尽可能多的格式,然后一致地格式化代码?或者有没有办法让格式化程序来做到这一点?它不需要看起来非常好,我只需要能够获得合理的差异,以便我可以看到他实际改变了什么。

最佳答案

我会尝试使用 tr -s '\t\r\n' ' ' 或等效方法删除尽可能多的空格,然后将结果反馈到 indent。 (不幸的是,不能执行 tr -d,因为那样会破坏标记边界。)

关于c - 在两个重格式化的 C 文件之间获取差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5173760/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com