Linux Can";“差别”;是否强制在指定点同步?

Linux Can";“差别”;是否强制在指定点同步?,linux,cygwin,diff,Linux,Cygwin,Diff,我正在合并包含相同函数的不同版本的源文件。不同文件中的函数顺序不一定相同。例如,foo.c可能包含baz()后跟qux(),而bar.c包含qux()后跟baz() 我想强制diff在我当前使用的函数的第一行进行同步,以便我可以看到该函数中的更改。使用GNUdiff(或另一个diff实用程序)有没有办法做到这一点?我有三个变通办法,但没有一个是好的: 将函数复制到单独的文件和diff这些文件。速度慢且繁琐,还有复制和粘贴错误的风险 将感兴趣的函数上移到每个文件的顶部,然后区分文件。简单一点,但仍

我正在合并包含相同函数的不同版本的源文件。不同文件中的函数顺序不一定相同。例如,
foo.c
可能包含
baz()
后跟
qux()
,而
bar.c
包含
qux()
后跟
baz()

我想强制
diff
在我当前使用的函数的第一行进行同步,以便我可以看到该函数中的更改。使用GNU
diff
(或另一个diff实用程序)有没有办法做到这一点?我有三个变通办法,但没有一个是好的:

  • 将函数复制到单独的文件和
    diff
    这些文件。速度慢且繁琐,还有复制和粘贴错误的风险

  • 将感兴趣的函数上移到每个文件的顶部,然后区分文件。简单一点,但仍然很耗时

  • 在每个文件之前添加一块lorem ipsum文本。(这是我目前正在使用的)不需要移动代码,但是嘿-为什么我必须做机器完全能够做的工作呢?:)


  • 不幸的是,gnu diff无法做到这一点,在它前面尝试使用
    split
    是完全不现实的


    一些比较工具可以让您将行与所谓的“同步链接”进行有力的匹配,Araxis会这样做(在Linux上使用Wine),例如,超越比较。

    谢谢!看起来ExamDiff Pro将很好地添加。。。现在决定要为哪匹小马买马:)