gcc компилятор в ubuntu

Я создал простую программу на C, которая выводит «Hello world» в качестве вывода и сохраняет ее как test.c.

Скомпилировал ее в терминале как gcc -o test test.c & amp; запустите его как ./test, но нет выхода.

Если же программа, сохраненная как try.c и любая (но не как тест), она компилирует & amp; отлично работает.

Почему? Есть ли проблема с скомпилированным бинарным кодом C с именем test?

1
задан 27 September 2014 в 12:16

1 ответ

Существует программа оболочки под названием test, которая проверяет условия, поэтому вы не можете запустить двоичный файл. Это встроенная оболочка, указанная POSIX, которая также существует во многих других оболочках, таких как ksh (оболочка Korn) и ash (оболочка Almquist). Bash делается для (в основном) соответствия самой спецификации POSIX. Утилита test предназначена для проверки различных атрибутов для файла или для различных строковых и числовых тестов. Примеры:

test -e FILE  # if the file exists in some form
test -f FILE  # if the file exists as a regular file (not a directory, symlink, etc.)

test -n "$str"  # if the string has a length greater than 0
test -z "$str"  # if the string is an empty string

test "$str" = "foo"  # equivalent to `str == "foo"` in C

test $num -lt 10  # if the number is less than 10
test $num -ge 10  # if the number is greater than or equal to 10
test $num -eq 10  # if the number equals 10

Короче говоря, вам, вероятно, в ваших интересах переименовать вашу программу, а не пытаться запустить файл. Бэш отказывается даже признать простоту существования. -

)
-1
ответ дан 24 May 2018 в 03:21

Другие вопросы по тегам:

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