加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux新手问题:GCC编译器输出

发布时间:2020-12-14 01:25:12 所属栏目:Linux 来源:网络整理
导读:我是 Linux的新手.我在笔记本电脑上有Mint,最近一直在玩它. 我写了一个简单的C程序并保存了文件. 然后在命令行中输入 gcc -c myfile 并弹出一个名为a.out的文件.我天真地(经过多年的Windows使用)预计会出现一个很好的.exe文件.我不知道如何处理这个a.out文件
我是 Linux的新手.我在笔记本电脑上有Mint,最近一直在玩它.

我写了一个简单的C程序并保存了文件.
然后在命令行中输入

gcc -c myfile

并弹出一个名为a.out的文件.我天真地(经过多年的Windows使用)预计会出现一个很好的.exe文件.我不知道如何处理这个a.out文件.

解决方法

使用-o命名并跳过-c:

gcc -Wall -o somefile myfile

您应该使用.c扩展名来命名您的源文件.

典型的编译方式,例如两个源文件到可执行文件中:

#Compile (the -c) a file,this produces an object file (file1.o and file2.o)

gcc -Wall -c file1.c
gcc -Wall -c file2.c

#Link the object files,and specify the output name as `myapp` instead of the default `a.out`

gcc -o myapp file1.o file2.o

你可以把它变成一个步骤:

gcc -Wall -o myapp file1.c file2.c

或者,对于具有单个源文件的情况:

gcc -Wall -o myapp file.c

-Wall部分意味着“启用(几乎)所有警告” – 这是一个你应该从一开始就习惯的习惯,它会为你节省很多麻烦,以后再调试奇怪的问题.

a.out名称是旧版unixes的剩余名称,它是一种可执行格式.默认情况下,链接器仍然命名文件a.out,尽管它们现在倾向于生成ELF而不是a.out格式的可执行文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读