“无法压缩二进制文件”是什么意思?

时间:2012-09-30 13:55:05

标签: c binaries

我已成功编译了我的代码,但它说:

Note: You can also run your application by typing 'run' followed by any command line arguments.
Starting application without args...
Checking Libraries...
Copying files...
Processing Files...
Compiling...
Failed to zip binaries!

Application Exited.

我希望我的代码让用户输入三个数字,中间有空格,并将它们相乘,所以这是我的代码:

#include <stdio.h>
#include <stdlib.h>

int mult( int x, int y, int z) {
    return x * y * z;

int main()
    {
    int x;
    int y;
    int z;

    printf("Input two integers to be multiplied: ");
    scanf("%d", &x);
    scanf("%d", &y);
    scanf("%d", &z);
    printf("The product of the three numbers is %d\n", mult( x, y, z) );
    getchar();
}

int mult (int x, int y, int z)
{
return x * y * z;
    }
}        

我使用compilr.com作为我的开发平台。

3 个答案:

答案 0 :(得分:1)

您的代码包含语法错误。 mult定义了两次,并且大括号存在问题。此外,如果您使用的是C89,main应返回一个值。

答案 1 :(得分:0)

事实上,您的代码will simply not link。您对mult的第一个定义最后缺少一个括号。你的第二个(不必要的)定义似乎有一个额外的支撑跟随它。因此,似乎只有一个大的mult方法而且根本没有main,导致链接器错误。主要(即使没有在大括号内被抓住)也没有返回任何东西。

令人惊讶的是,Compilr似乎没有返回任何关于此的错误。 (或者你没有告诉我们)但是,由于链接失败,没有二进制文件。因此,当尝试压缩它们时,实际压缩会失败并显示您看到的错误消息。

我会认真地向您推荐一个合适的编译器/ IDE来自己编译代码,然后再将其提交给其他人。确保它首先在本地系统上有效。如果compilr.com没有返回任何实际的语法/编译器/链接器错误信息,那么它就没用了。 (请注意,我对系统不熟悉,因此它实际上可能会提供给您。如果是这样,请弄清楚它是如何工作的。)

答案 2 :(得分:0)

除了你的代码有些奇怪并且可能有错之外,在我看来你的错误表明链接器有问题:http://ideone.com/iBOtP