gcc -o hello hello.c和gcc hello -o hello.c有什么区别
时间: 2023-10-12 21:04:42 浏览: 184
这两个命令的参数顺序不同,导致它们的含义不同。
- `gcc -o hello hello.c` 会将文件 `hello.c` 编译成可执行文件 `hello`。其中,`-o` 选项用于指定输出文件名,`hello` 是输出文件的文件名,`hello.c` 是源代码文件的文件名。
- `gcc hello -o hello.c` 的参数顺序是错误的。`hello` 是要编译的源代码文件,而 `-o hello.c` 则是将输出文件命名为 `hello.c`,但是 `hello.c` 是一个源代码文件,而不是输出文件名。因此,这个命令会报错。
因此,正确的命令应该是 `gcc -o hello hello.c`。
相关问题
gcc -E -o hello.i hello.c
好的,这是gcc的预处理命令,它将源文件预处理并生成一个.i文件,而不是直接生成可执行文件。预处理器将执行一系列的操作,例如宏替换、条件编译、头文件包含等等,以便在编译时更好地处理源代码。
具体来说,命令`gcc -E -o hello.i hello.c`将进行以下操作:
1. `-E`选项告诉GCC仅执行预处理器并输出预处理结果。
2. `-o hello.i`选项将预处理结果输出到一个名为`hello.i`的文件中。
3. `hello.c`是您的源代码文件名。
通过这个命令,您可以检查预处理器对源文件所做的更改,并在编译之前对其进行修改。
希望这可以解答您的疑问!
gcc -c helloworld.s -o helloworld.o指令作用
这条指令的作用是将汇编代码 helloworld.s 编译成目标文件 helloworld.o,其中 -c 选项表示只进行编译而不进行链接,即将汇编代码转换成机器码;-o 选项表示将编译输出的目标文件命名为 helloworld.o。编译器使用的是 GCC。