这是关于Linux Journal 文章中提到的编译步骤。
C 程序是使用该文章中的cpp、cc1、as和ld命令编译的。我能够使用cpp、as和ld执行这些步骤。但cc1抛出错误。
cpp hello_new_world.c -o hello_new_world.i
Run Code Online (Sandbox Code Playgroud)
因为我无法使用 cc1:
gcc -S hello_new_world.i -o hello_new_world.s
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
as hello_new_world.s -o hello_new_world.o
Run Code Online (Sandbox Code Playgroud)
即使我可以使用gccSwitch-E和-SSwitch来执行编译步骤,但在最新的 gcc 中-c是否有替换的命令?cc1或者如何使用专用命令正确编译?
$ cc1 hello_new_world.i -o …Run Code Online (Sandbox Code Playgroud)