确定C可执行文件名

确定C可执行文件名,c,gcc,compilation,executable,linkage,C,Gcc,Compilation,Executable,Linkage,当我们编译C程序时,输出存储在a.out中。如何将编译后的输出重定向到另一个文件?-ofilename将使文件名而不是a.out根据手册: -o将输出放入 大多数C编译器为此提供了-o选项,例如: gcc -o gentext gentext.c cc -o mainprog -Llib -lmymath firstbit.c secondbit.o xlc -o coredump coredump.c 在C语言起源的Unix中,C程序通常逐模块编译,然后将编译后的模块链接到可执行文件中。对

当我们编译C程序时,输出存储在a.out中。如何将编译后的输出重定向到另一个文件?

-ofilename
将使
文件名
而不是
a.out

根据手册:

-o将输出放入

大多数C编译器为此提供了
-o
选项,例如:

gcc -o gentext gentext.c
cc  -o mainprog -Llib -lmymath firstbit.c secondbit.o
xlc -o coredump coredump.c

在C语言起源的Unix中,C程序通常逐模块编译,然后将编译后的模块链接到可执行文件中。对于包含模块
foo.c
bar.c
的项目,命令如下:

cc -c foo.c
cc -c bar.c
cc -o myprog foo.o bar.o
(使用-c,输出文件名成为源文件,后缀替换为.o。)

这允许您只重新编译那些已更改的模块,这对于大型程序来说可以节省大量时间,但也可能变得相当棘手。(此部分通常使用
make
自动完成)

对于单个模块程序,首先编译到.o文件,然后链接,实际上没有任何意义,因此一个命令就足够了:

cc -o foo foo.c
对于单模块程序,通常会调用与C源文件相同的结果可执行程序,而不使用.C后缀。对于多模块程序,对于输出是否以具有主函数的文件命名,没有严格的自定义,因此您可以自由发明自己喜欢的东西。

使用以下方法编译:

cc -o <opfilename> <filename.c>
cc-o
使用以下命令执行:

./<opfilename>
/

如果
foo
将是您的可执行文件,
bar.c
是您的源文件,则命令为:

gcc -o foo bar.c

使用
-o
选项

gcc main.c -o myCoolExecutable.o
如果您的程序由单个文件组成,则这是正常的。如果您有更多文件,我建议使用
make
:创建
Makefile
,然后运行命令
make

Makefile
是一个包含一些编译规则的文件。 例如(
#
表示该行是注释):

生成可执行文件的规则是

yourExecutableName: $(OBJECTS)
    $(CXX) $(WARNING) $^ -o $@
这相当于
gcc-Wall-Wextra$(OBJECTS)-o yourExecutableName

$(对象)
是编译产生的对象文件。执行上述规则时,如果未找到这些规则,make将继续扫描该文件,以找到生成这些规则的规则。在这种情况下,生成这些文件的规则是:

$(OBJDIR)/%.o: $(SOURCEDIR)/%.c Makefile | $(OBJDIR)
    $(CXX) $(WARNING) -MMD -MP -c $< -o $@
$(OBJDIR)/%.o:$(SOURCEDIR)/%.c Makefile |$(OBJDIR)
$(CXX)$(警告)-MMD-MP-c$<-o$@

如果需要更多信息,请告诉我。

根据用户选择的.exe文件名的格式,使用C语言

步骤1:-在终端上以以下格式运行gcc(或您拥有的编译器)

    gcc -o put_your_name_you_want_to_give (space) your_file_name_you_want_to_execute
注意:-如果正在运行“Vs代码”,请使用“Tab”键自动完成

步骤2:-用格式写下程序名称

           .\the_name_you_have_given.exe

你完了

假设你在ubuntu中

步骤1:使用这些命令运行gcc以编译
filename.c

gcc filename.c-o filename.out

  • 将创建
    filename.out
    (它可能显示也可能不显示其他文件的存储位置)
步骤2:执行
文件名.out

/filename.out

步骤3:等待输出


就这样,你完成了

gcc source.c-o name到目前为止最好的答案是,
make
    gcc -o put_your_name_you_want_to_give (space) your_file_name_you_want_to_execute
           .\the_name_you_have_given.exe