Отказано в доступе при компиляции кода C с помощью gcc

Отказано в доступе при компиляции кода C с помощью gcc

Я скомпилировал свою программу на языке 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(в Caltech) относится к «объектным файлам» и «двоичным исполняемым файлам». Простое (возможно, слишком упрощенное) объяснение заключается в том, что объектный файл содержит инструкции, полученные путем компиляции одного исходного файла, в то время как двоичный исполняемый файл представляет собой полную программу. (Как только вы выходите за рамки уровня программирования «Hello world», для построения одной программы обычно используется несколько файлов исходного кода.) Объектные файлы, более или менее по определению,неполныйпрограммы и, следовательно, не являются исполняемыми.

Когда вы компилируете с помощью -c, вы создаете объектный файл, который содержит вашу mainфункцию и ничего больше. Он содержитвызовв printf, но он не содержит printfсаму функцию или средства ее поиска/загрузки. Вы должны отключить эту -cопцию, чтобы получить двоичный исполняемый файл полной программы.

Связанный контент