满意答案
hldVU2
2014.02.12
采纳率:42% 等级:12
已帮助:7105人
在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须保留原来的文件名, 例如, 如果你修改源码中的a.c文件, 那么, 修改后的文件还是名为a.c, 在修改之前你可以复制a.c为a.orig.c进行备份. diff命令必须在整个Linux源码的根目录的上一级目录中执行. 1. 为单个文件生成补丁 diff -up linux-2.6.28.8/net/sunrpc/svc.orig.c linux-2.6.28.8/net/sunrpc/svc.c 这条命令会产生类似如下的输出, 你将它重定向到一个文件中, 这个文件就是patch. @@ -1050,11 +1050,11 @@ svc_process(struct svc_rqst *rqstp)参数详解:-u 显示有差异行的前后几行(上下文), 默认是前后各3行, 这样, patch中带有更多的信息. -p 显示代码所在的c函数的信息. 2. 为多个文件生成补丁 diff -uprN linux-2.6.28.8.orig/net/sunrpc/ linux-2.6.28.8/net/sunrpc/ 这条命令对比了linux-2.6.28.8.orig/net/sunrpc/和linux-2.6.28.8/net/sunrpc/两个目录的源码差异. 不像只需要单个文件, 如果修改多个文件, 那么就需要拷贝整个Linux源码树. 参数详解:-r 递归地对比一个目录和它的所有子目录(即整个目录树).
00分享举报