2013-12-26 2 views
0

Я новичок в языке C, и мне нужно знать, в чем разница между cc filename.c и cc -c filename.c при компиляции исходного кода на C. Я знаю, что команда cc -c создает объектный модуль, если да, то как преобразовать этот объектный модуль в исполняемый файл.Разница между cc и cc -c при компиляции программы C

+0

Подождите, это спрашивает, как скомпилировать объектные файлы? Похоже, вы уже знаете, какая разница между 'cc' и' cc -c'. –

+0

Почему нам нужно создать объектный файл? Почему мы не можем напрямую создавать исполняемый файл? –

+0

@ buddhi-weerasinghe В больших приложениях обычно у вас много модулей, таких как foo.c, bar.c и main.c. В этом случае удобнее скомпилировать каждый из них с -c, а затем связать объекты в конце, чтобы создать исполняемый файл. – Brandin

ответ

2

Чтобы создать исполняемый файл из объектных модулей, необходимо связать их с помощью cc или ld или какого-либо другого линкера следующего

cc a.o b.o c.o -o final.bin 

Можно также упомянуть библиотеки, которые вы хотите связать здесь.

Он будет генерировать исполняемый файл, если любой из них имеет самую верхнюю точку входа (основная функция).

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