Сделать инструмент командной строки из программы на C - PullRequest
3 голосов
/ 08 сентября 2011

Если я хочу создать инструмент командной строки, используя makefile для, скажем, эту программу на C:

# include<stdio.h>

int main()
{
    printf("Hello World!");
    return 0;
}

У меня нет предыдущего опыта работы с командами makefile или linux. Просто начинаю. Может кто-нибудь сказать мне, как это сделать?

Ответы [ 4 ]

6 голосов
/ 08 сентября 2011

Вам не нужен make-файл для одного исходного файла, подобного этому, - просто скомпилируйте его так:

$ gcc -Wall foo.c -o foo

Если вы действительно хотите сделать make-файл, тогда вы можете сделать что-то вроде этого:

#
# makefile
#

foo: foo.c
    gcc -Wall foo.c -o foo

затем из командной строки вы можете сказать:

$ make foo

или даже просто

$ make
2 голосов
/ 08 сентября 2011

У меня нет удобного Unix-бокса, но ISTR, который делает (1), имеет некоторые правила по умолчанию, которые позволяют вам просто набрать make hello, и он найдет hello.c и сгенерирует двоичный файл с именем 'hello'.Конечно, для чего-то более сложного, вы захотите прочитать о make (1) или его потомках, man make - это хорошее место для начала.

1 голос
/ 08 сентября 2011
$cat makefile
main:main.c
    gcc -o main main.c

clean:
    rm main
1 голос
/ 08 сентября 2011

Makefile:

hello: hello.c
    gcc -Wall -o hello hello.c


$ make hello
$ ./hello

Вы можете извлечь выгоду из этого .

Кроме того, в вашей программе отсутствует символ новой строки. Вы, вероятно, хотели напечатать "Hello World!\n".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...