Как проверить, привел ли gcc к сбою, возвратил предупреждение или преуспел в Bash?

$this относится к текущему классу объекта, self относится к текущему классу (не объекту). Класс - это план объекта. Итак, вы определяете класс, но создаете объекты.

Таким образом, другими словами, используйте self for static и this for none-static members or methods.

также в дочернем / родительском сценарии self / parent в основном используется для идентификации дочерних и родительских классов и методов класса.

6
задан Suraj 26 March 2018 в 01:31
поделиться

3 ответа

if gcc helloworld.c -o helloworld; then 
echo "Success!";
else 
echo "Failure"; 
fi

You want bash to test the return code, not the output. Your code captures stdout, but ignores the value returned by GCC (ie the value returned by main()).

16
ответ дан 8 December 2019 в 02:08
поделиться

Your condition should be:

if [ $? -ne 0 ]

GCC will return zero on success, or something else on failure. That line says "if the last command returned something other than zero."

20
ответ дан 8 December 2019 в 02:08
поделиться

Чтобы определить разницу между полностью чистой компиляцией и компиляцией с ошибками, сначала выполните обычную компиляцию и проверьте $ ?. Если не ноль, компиляция не удалась. Затем выполните компиляцию с параметром -Werror (предупреждения рассматриваются как ошибки). Test $? - если 0, компилируется без предупреждений. Если не ноль, он компилируется с предупреждениями.

Пример:

gcc -Wall -o foo foo.c
if [ $? -ne 0 ]
then
    echo "Compile failed!"
    exit 1
fi

gcc -Wall -Werror -o foo foo.c
if [ $? -ne 0 ]
then
    echo "Compile succeeded, but with warnings"
    exit 2
else
    echo "Compile succeeded without warnings"
fi
11
ответ дан 8 December 2019 в 02:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: