读取二进制文件,无法执行二进制文件:执行格式错误

时间:2016-01-29 16:31:55

标签: c linux binary

我的代码

#include <stdio.h>

#define FILENAME "m_6"

int main() {
   float f;
   FILE * file;
   // read values
   if ( ! (file = fopen(FILENAME,"r")))
      return 1;
   while ( fread( &f, sizeof(float), 1, file ))
      printf("%e\n", f);
   fclose( file );
}

当我使用gcc编译gcc -c n1.c -o n1

并尝试运行它我

bash: ./n1: cannot execute binary file: Exec format error

文件m_6和n1.c在同一台机器上执行。

3.13.0-76-generic #120-Ubuntu SMP Mon Jan 18 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

gcc -c编译源文件而不进行链接。

从命令中取消-c