※ ChatGPTを利用し、要約された質問です(原文:Linux バイナリ実行できない "cannot execute binary file”)
Linuxバイナリ実行できない: cannot execute binary fileとは?
このQ&Aのポイント
LinuxサーバーにWindowsクライアントから接続し、バイナリ実行時にcannot execute binary fileのエラーメッセージが表示される場合、その原因と解決方法を解説します。
Linuxサーバーへの接続時にWindowsクライアントを使用し、バイナリファイルの実行時にcannot execute binary fileというエラーメッセージが表示される問題が発生した場合、この記事ではその解決方法について詳細に説明します。
WindowsクライアントからLinuxサーバーに接続し、バイナリファイルを実行しようとする際に、cannot execute binary fileというエラーメッセージが表示される問題について、原因と解決策を紹介します。
Linux バイナリ実行できない "cannot execute binary file”
表記ですが、Linuxサーバーに対して、Windowsクライアントから
XWin環境にてユーザー"hoge"でログインを行い、
そのサーバー上でターミナルを立ち上げ
/usr/local/gcc_work
というフォルダを作り、その中で
---ここからーーー
#include <stdio.h>
int main(void)
{
printf("Hello,world\n");
return 1;
}
ーーーここまでーーー
のような、hello.cを作成し、
$ gcc -c hello.c -o hello
でバイナリを作成し
$ ./hello
とすると
bash: ./hello: cannot execute binary file
とのメッセージが出ます。
パーミッションの問題かと思いましたが、
[hoge@localhost gcc_work]$ ls -l
合計 8
-rwxrwxr-x 1 hoge hoge 876 5月 6 18:14 hello
-rwxrwxr-x 1 hoge hoge 83 5月 6 18:13 hello.c
のようになっていて、問題なく感じています。
スーパーユーザになって再度コンパイルしても同じでした。
くだらないところで躓いているのかもしれませんが、お気づきあらば
教授願います。
お礼
仰せのとおりですね。 本をまるうつしで演習してて、オプションの確認をしてなかったようです。 恥ずかしい限りで…。 ありがとうございました。