我正在尝试编写脚本以仅在用户本地修改的文件上运行 PC-Lint 静态分析器工具,而不是在整个项目上运行。
为此我需要对所有本地修改的文件运行
Lint
命令
使用 svn 状态
svn status -u | grep -w M
命令我得到本地修改文件的列表及其完整路径
例如,如果本地修改的文件是
asn1_common_elements.c
,上面的svn
命令将给出输出为
M 10014 \实施 sn1der\src sn1_common_elements.c
现在我只需要取文件名
asn1_common_elements.c
并用LINT
命令作为LINT asn1_common_elements.log
(而不是.c
需要更改为.log
)
我怎样才能做到这一点?
您可以使用 Makefile 的功能只让编译器只编译更改的文件。
在 Makefile 中做这样的事情:
# Create object from C source code
file.o: file.c
gcc -c $(CFLAGS) -o $@
wine lint-nt.exe file.c
现在 file.c 只有在更改时才会被分析。