Компилятор MinGW: невозможно запустить программу в командной строке

280
Kanishk Viman

Я скачал 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 ;  } 
0

1 ответ на вопрос

1
DavidPostill

Как мне скомпилировать и связать программу переменного тока, используя 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:

@DavidPpostill: Большое спасибо Kanishk Viman 5 лет назад 0