У меня есть Linux Виртуальная машина. Есть некоторая информация.
uname -a
: Linux 05d57a817610 4.4.0-131-generic #157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
cat /proc/version
: Linux version 4.4.0-131-generic (buildd@lgw01-amd64-015) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ) #157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018
cat /etc/issue
: Ubuntu 18.04.2 LTS \n \l
/*abc.c*/
#include<stdio.h>
int main(){
printf("Hello World\n");
return 0;
}
Я использовал команду gcc abc.c -o abc.o
, затем получил файл: abc.o
. Это был исполняемый файл.
Когда я использовал команду: gcc abc.c -c
, он выдал файл abc.o
. Затем я попытался использовать команду: ./abc.o
, но она показала, что bash: ./abc.o: Permission denied
. При этом я использовал команду chmod +x abc.o
, затем я использовал команду ./abc.o
, она показала, что ./abc.o: cannot execute binary file: Exec format error
. Я долго беспокоился об этой проблеме, я не знал почему. Может кто-нибудь мне помочь? Заранее спасибо. Извините за мой бедный Энгли sh.
Есть некоторая информация, которую вы, возможно, захотите узнать, когда решите проблему.
file abc.o
: abc.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
uname -m
: x86_64
Если вы хотите узнать какую-либо информацию, пожалуйста, оставьте сообщение в комментарии. Большое спасибо.