4 c linux gcc compilation
我是Linux的新手.我在笔记本电脑上有Mint,最近一直在玩它.
我写了一个简单的C程序并保存了文件.然后在命令行中输入
gcc -c myfile
Run Code Online (Sandbox Code Playgroud)
并弹出一个名为a.out的文件.天真地(经过多年的Windows使用)预计会出现一个很好的.exe文件.我不知道如何处理这个a.out文件.
用它命名-o并跳过-c:
gcc -Wall -o somefile myfile
Run Code Online (Sandbox Code Playgroud)
您应该使用.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
Run Code Online (Sandbox Code Playgroud)
你可以把它变成一个步骤:
gcc -Wall -o myapp file1.c file2.c
Run Code Online (Sandbox Code Playgroud)
或者,对于具有单个源文件的情况:
gcc -Wall -o myapp file.c
Run Code Online (Sandbox Code Playgroud)
该-Wall部分意味着"启用(几乎)所有警告" - 这是一个你应该从一开始就习惯的习惯,它会为你节省很多麻烦,以后再调试奇怪的问题.
该a.out名称是旧版unixes的剩余部分,它是一种可执行格式.Linkers仍然a.out默认命名文件,虽然它们现在倾向于生成ELF而不是a.out格式化可执行文件.