2016-01-14 2 views
-1

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

Я скопировал файлы в свой домашний каталог и редактировал с помощью vim (поскольку мой инструктор почему-то предпочитает его emacs).

Но как я могу проверить свой код? файл make предоставляется, и когда я печатаю make test.c, я возвращаюсь make: Nothing to be done for test.c. Я не понимаю, почему это происходит, потому что у меня есть оператор печати в качестве первой строки в main. Разве это не должно бежать? Также, как передать аргументы функции maintest.c при использовании make ??

В качестве побочного вопроса этот сервер не имеет gdb либо по какой-либо причине. Я уверен, что есть установленная альтернатива, я просто не знаю, как ее зовут, чтобы попытаться посмотреть, есть ли она здесь.

+0

Вы уже давно читали файл makefile? Вы понимаете, как вызывать исполняемые файлы? –

+0

Знаете ли вы, что означает «компиляция»? – Arc676

+1

'make' * возможно * просто компилирует вашу программу, а не компилирует и запускает ее, и вы тоже не используете ее. Загляните в «Makefile» для списка целей (они находятся в начале их соответствующих строк в форме «target-name:»). 'make test' может быть правильным. Затем вы можете запустить свою программу и передать аргументы, как обычно, например. './test some args'. – Ryan

ответ

2

Аргумент make обычно является тем, что вы хотите его создать. Поскольку test.c уже существует, make test.c ничего не делает. make test должен составить test.c для создания test. make без аргументов использует цель по умолчанию, указанную в Makefile; в вашем случае это, вероятно, то же самое, что и make test.

make команда не бежит ваша программа; он создает исполняемый файл, который затем можно запустить.

После того, как вы набрали make или make test, вы должны быть в состоянии выполнить свою программу, набрав

./test 

./ важно; без него вы, вероятно, вызовете встроенную команду оболочки test, которая не то, что вы хотите.

0

Может быть, что и нужно только эта команда сборки:

gcc test.c -o test 

Тогда:

./test 

попробовать.^_^

0

Я думаю, вам нужны базовые знания в make. Вы должны прочитать некоторые базовые книги по адресу makefile и попробовать его. Если вы просто пытаетесь придерживаться концепций в своем уме, но никогда не пытаетесь это сделать, вы никогда не получите его.

Отъезд this вопрос. Он просит хорошие учебные пособия по адресу GNU Make. Кроме того, чтобы вы могли перейти непосредственно к ссылкам, this и this - это ссылки, упомянутые в основных ответах.

Смежные вопросы