gpt4 book ai didi

gcc - 有没有办法让 gcc 在发出错误时打印有问题的行?

转载 作者:行者123 更新时间:2023-12-02 21:00:24 24 4
gpt4 key购买 nike

我有一个大型代码库,负责将其移植到 64 位。代码可以编译,但它会打印大量不兼容的指针警告(正如预期的那样。)有什么方法可以让 gcc 打印发生错误的行吗?此时,我只是使用 gcc 的错误消息来尝试追踪需要修改的假设,并且必须查找每个假设并不有趣。

最佳答案

我公然窃取了 Joseph Quinsey 的 answer为了这。唯一的区别是我试图使代码更容易理解:

对于 bash,使用 make 2>&1 | show_gcc_lineshow_gcc_line 以下脚本:

#!/bin/bash
# Read and echo each line only if it is an error or warning message
# The lines printed will start something like "foobar:123:" so that
# line 123 of file foobar will be printed.

while read input
do
loc=$(echo "$input" | sed -n 's/^\([^ :]*\):\([0-9]*\):.*/\1 \2/p')
len=${#loc}
file=${loc% *}
line=${loc#* }

if [ $len -gt 0 ]
then
echo "$input"
echo "$(sed -n ${line}p $file)"
echo
fi
done

这部分是因为我不喜欢原件的格式。这仅打印警告/错误,后跟导致问题的代码行,然后是空行。我也删除了连字符串。

关于gcc - 有没有办法让 gcc 在发出错误时打印有问题的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2976742/

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