Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何指定对象文件的名称_C_Linux_Gcc_Cc - Fatal编程技术网

C 如何指定对象文件的名称

C 如何指定对象文件的名称,c,linux,gcc,cc,C,Linux,Gcc,Cc,当我凭直觉尝试运行这样的命令时 cc -c source.c header.h -o a_name_different_than_source.o 抛出以下错误 cc:无法使用多个文件指定-o和-c、-S或-E 不要将header.h放在命令行中: cc -c source.c -o a_name_different_than_source.o 将起作用。A.c文件不需要您在命令行中提及标题,GCC会处理这个问题 一个简单的gcc inputFilename-o outfileName就足够

当我凭直觉尝试运行这样的命令时

cc -c source.c header.h -o a_name_different_than_source.o
抛出以下错误

cc:无法使用多个文件指定-o和-c、-S或-E

不要将header.h放在命令行中:

cc -c source.c -o a_name_different_than_source.o

将起作用。

A.c文件不需要您在命令行中提及标题,GCC会处理这个问题


一个简单的gcc inputFilename-o outfileName就足够了。

为什么要编译header.h?在source.c中包含它就足够了。要编译单个文件程序,请使用gcc-Wall-gsource.c-obinprog,然后使用gdb调试binprog。对于具有多个源文件和头的程序,请学习使用make或omakeI-suggest之类的生成器将cc替换为gcc-Wall-g,以获取警告和调试信息,并使用gcc编译器。将source.c源文件编译成source.o对象文件以便以后链接是非常常见的。无需将对象命名为不同的名称。o