アプリ版:「スタンプのみでお礼する」機能のリリースについて

表記ですが、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

のようになっていて、問題なく感じています。
スーパーユーザになって再度コンパイルしても同じでした。
くだらないところで躓いているのかもしれませんが、お気づきあらば
教授願います。

A 回答 (1件)

> $ gcc -c hello.c -o hello



-c オプションをつけたときは実行ファイルまでは作らずに、オブジェクトファイル
(通常は .oの拡張子を持つもの)を作るだけですよ。
それは実行可能形式のファイルじゃありません。

file hello

とかしてみてください。
素直に -c オプションをつけずに

$ gcc hello.c -o hello

で実行可能な hello ができると思いますよ。
    • good
    • 5
この回答へのお礼

仰せのとおりですね。
本をまるうつしで演習してて、オプションの確認をしてなかったようです。
恥ずかしい限りで…。
ありがとうございました。

お礼日時:2007/05/07 07:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています