невозможно выполнить двоичные файлы на MAC-терминале - PullRequest
0 голосов
/ 30 августа 2018

Я использовал makefile для генерации файла. gcc -c hello.c -o hello и исправил проблему с разрешением через: chmod a + x ./hello Однако, когда я хочу выполнить «привет» файл. . / Привет система сказала мне, что «не может выполнить двоичный файл» Кто-нибудь может мне помочь? Я с нетерпением жду вашего ответа.

Ответы [ 3 ]

0 голосов
/ 30 августа 2018

Проверьте, правильно ли установлен компилятор GCC в вашей системе.

gcc -v

Скомпилируйте ваш файл:

gcc filename.cpp -o any-name

Запуск вашей программы:

./any-name
0 голосов
/ 17 ноября 2018

В качестве альтернативы компиляции и компоновке одновременно вы можете использовать make:

make hello

Примечание: без расширения .c.

Выходной сигнал терминала должен быть:

cc     hello.c   -o hello
0 голосов
/ 30 августа 2018

Аргумент -c для gcc создает объектный файл, который вы позже должны связать для создания исполняемого файла. Вы не можете выполнить объектный файл, который вы создали.

Вместо этого для одновременной компиляции и компоновки, если у вас есть только 1 файл .c, выполните

gcc hello.c -o hello

Или, если вы хотите разбить его на отдельные этапы компиляции и компоновки, выполните

gcc -c hello.c -o hello.o
gcc hello.o -o hello
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...