使用 gcc 编译 c 代码时访问被拒绝

使用 gcc 编译 c 代码时访问被拒绝

我用编译了我的 c 程序gcc -c -o test.exe test.c ,编译时没有错误,然后当我运行时,它给出Access is denied.

这是我的代码

#include <stdio.h>
int main()
{
    printf("Hello, World!");
    return 0;
}

答案1

尝试不使用-c @Scott

答案2

二进制/对象/可执行代码文件有多种类型。我不确定这些名称有多标准,但是CS 11:编译 C 程序(在加州理工学院)指的是“目标文件”和“二进制可执行文件”。一个简单的(也许过于简单)解释是,目标文件包含编译单个源文件生成的指令,而二进制可执行文件则代表一个完整的程序。(一旦您超越了“Hello world”级别的编程,通常就会有多个源代码文件来构建单个程序。)目标文件或多或少按照定义是,不完整程序,因此不可执行。

使用 进行编译时-c,您将创建一个目标文件,其中包含您的main函数,而没有其他内容。它包含称呼printf,但它不包含printf函数本身,也不包含查找/加载函数的方法。您必须关闭该 -c选项,这样您才能获得完整程序的二进制可执行文件。

相关内容