Я скачал MinGW компилятор. Я написал небольшую программу на c и скомпилировал ее следующим образом:

gcc -c firstc.c

Он сгенерировал исполняемый файл как «firstc.o».

Но когда я попытался запустить программу в командной строке следующим образом:

firstc.o

В результате появилось окно с подсказкой

"Как вы хотите открыть этот файл?"

и со списком вариантов приложений, чтобы выбрать.

В чем может быть проблема здесь? Как я могу перенаправить вывод моей программы в самой командной строке?

Если в случае, если программа может быть заподозрена, в файле есть программа:

#include <stdio.h>

 struct gl
{ 

   int n ;
    char a[10];

} ;

 int 
main () {

     struct  gl* str_p ; 
    printf(" Meri marzi  /n") ;
     return 0 ;

}

1 ответ1

1

Как мне скомпилировать и связать программу переменного тока, используя gcc?

Он сгенерировал исполняемый файл как «firstc.o»

firstc.o - это объектный модуль, а не исполняемый файл. Это должно быть связано (см. Позже).

Это потому что ты побежал:

gcc -c firstc.c

И -c указывает компилятору:

Компилировать или собирать исходные файлы, но не ссылаться. Этап связывания просто не завершен. Конечный результат в форме объектного файла для каждого исходного файла.

Общие параметры источника - Использование коллекции компиляторов GNU (GCC)

Для ссылки на отдельном шаге:

gcc -o firstc firstc.o -lm

Чтобы скомпилировать и связать в один шаг:

gcc -Wall firstc.c -o firstc

Чтобы запустить вашу программу:

./firstc

Наконец, прочитайте следующие инструкции о том, как использовать gcc:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .