C компилятор для Mac?

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

Чтобы лучше понять, что происходит, когда я призываюgcc водитель, я пытался сделать всю компиляцию старой школы вручную;

предварительная обработка с использованиемcppсоставление сcc1сборка сasсвязывание с использованиемld

К сожалению, на моем Mac я неКажется, я могу ссылатьсяcc1напрямую (нет спискаcc1 вman). Какие у меня варианты?

Ответы на вопрос(1)

Решение Вопроса

аНКУ, Затем вы можете играть сMELT зонд (вы можете захотеть использовать систему Linux). Тогда прочитайтеРуководство GCC, ИGCC ресурсный центр

использованиеgcc -v -Wall скомпилировать, покажет чтоcc1 работает (и-Wall всегда полезно). Так что попробуйте скомпилировать сgcc -v -Wall hello.c -o helloworld.bin

cc1 программа нене сидеть в вашемPATH или в/usr/bin/ но по моей системе/usr/lib/gcc/x86_64-linux-gnu/4.8/cc1

Командаgcc -print-prog-name=cc1 скажу вам, какойcc1 используетсяваш gcc, УвидетьВарианты отладки GCC для большего.

Предварительная обработка теперь внутри.cc1

gcc Программа просто драйвер, начинаяcc1 (который выполняет большую часть работы по компиляции), тоasld так далее...

MELT сайт содержит некоторую документацию и несколько слайдов, объясняющих GCC, что вы можете найти интересным. MELT - это предметно-ориентированный язык для расширения GCC.

Смотрите также картинку наhttp://starynkevitch.net/Basile/gcc-melt/cc1-internals.svg и ниже картина

картина изhttp://starynkevitch.net/Basile/gcc-melt/gcc-MELT-inside.png, сделанный мной, CC BY SA

cc1 производит.s сборочный файл;as (начатоgcc) превращает его в.o,ld компоновщик (начатыйgcc) создаст библиотеку или исполняемый файл.

PS. У меня есть система Linux, но на MacOSX все очень похоже.

ссылка на ссылку

Хорошая книга о ссылкахLevine»с линкерами и погрузчики книга.

 gone23 мая 2013 г., 03:13
хм, большое спасибо

Ваш ответ на вопрос