Это касается этапов компиляции, упомянутых в Linux журнальной статье .
Программа C была скомпилирована с использованием cpp
, cc1
, as
и ld
команд в этой статье. Я могу выполнить шаги с cpp, как и ld . Но cc1 выдает ошибку.
cpp hello_new_world.c -o hello_new_world.i
Поскольку я не могу использовать cc1:
gcc -S hello_new_world.i -o hello_new_world.s
ld -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -lc -lgcc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o hello_new_world.o -o hello_new_world
as hello_new_world.s -o hello_new_world.o
Даже если я могу сделать шаги компиляции с использованием ключей gcc
, ключей -E
, -S
и -c
, есть ли команда, которая заменила cc1
в последней версии g cc? Или как правильно выполнить компилятор с помощью специальной команды?
$ cc1 hello_new_world.i -o hello_new_world.s
Command 'cc1' not found, did you mean:
command 'cct' from deb proj-bin (5.2.0-1)
command 'ccr' from deb codecrypt (1.8-1)
command 'ccx' from deb calculix-ccx (2.11-1build2)
command 'cc' from deb gcc (4:9.2.1-3.1ubuntu1)
command 'cc' from deb clang (1:9.0-49~exp1)
command 'cc' from deb pentium-builder (0.21ubuntu1)
command 'cc' from deb tcc (0.9.27-8)
command 'ccs' from deb unanimity (3.3.0+dfsg-2.1)