Вот я пишу в терминале две строки:
gcc microphone.c -lasound -o /tmp/a.out
gcc -lasound -o /tmp/a.out microphone.c
Первая - компилируется успешно, молча.
Вторая строка - сыпет ошибки, код выхода 1 - ошибка.
/tmp/cch9ZW3l.o: In function `main':
microphone.c:(.text+0x14ce): undefined reference to `snd_pcm_open'
... множество аналогичных сообщений
microphone.c:(.text+0x21d6): undefined reference to `snd_pcm_close'
collect2: ld returned 1 exit status
У автора ( http://alumnos.elo.utfsm.cl/~yanez/alsa-sample-programs/ ) в make файле
gcc -lasound -o microphone microphone.c
Смотрю ещё в начало "man gcc" - допускается указание входного файла в конце команды.
Чем объясняется разница в реакциях на команду? В чём дело?