栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux下使用gcc入门(纯小白友好版)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux下使用gcc入门(纯小白友好版)

linux下使用gcc入门(纯小白友好版)
    • 安装gcc:sudo apt-get install gcc(之后输入密码即可)
    • 创建目录,编辑代码
    • 分步进行1)预处理,2)编译,3)汇编,4)链接
      • (1)预处理:gcc -E -o helloworld.i helloworld.c
      • (2)编译: gcc -S -o helloworld.s helloworld.i
      • (3)汇编:gcc -c -o helloworld.o helloworld.s
      • (4)链接:gcc -o helloworld helloworld.o
      • (5)执行可执行文件helloworld或a.out:
    • 参考目录

安装gcc:sudo apt-get install gcc(之后输入密码即可) 创建目录,编辑代码

绝对路径的方式进入usr目录: cd /home

  • /home/:是普通用户的主目录,在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在/home/ 下建立一个和用户名相同的目录。如:user1的主目录就是/home/user1/。
  • 创建用户名为user1的目录:sudo mkdir user1(输入密码即可)
  • 进入user1目录:cd user1
  • 建立存放代码数据的文件:mkdir codes
  • 进入codes目录:cd codes

建立名为helloworld.c的文件:touch helloworld.c
编辑文件:vim helloworld.c
按i键开始编辑,输入代码(注意最后的‘;’)

#include
int main(){
    printf("%sn","Hello World!")
};

按esc键退出编辑,输入“:wq!”并回车保存文件并退出:

查看文件内容:cat holleworld.c

分步进行1)预处理,2)编译,3)汇编,4)链接 (1)预处理:gcc -E -o helloworld.i helloworld.c

将包含(include)的文件插入源文件中,将宏定义展开、根据条件编译命令选择要使用的代码,最后将代码输出到一个“ .i ”文件中等待进一步处理。
helloworld.i文件部分内容:

(2)编译: gcc -S -o helloworld.s helloworld.i

把上面的C语言代码翻译成汇编语言,helloworld.s的部分内容如下:

(3)汇编:gcc -c -o helloworld.o helloworld.s

汇编是将汇编代码翻译成一定格式的机器代码,,在Linux系统上一般表现为ELF目标文件(OBJ文件),文件部分内容如下所示(用hexdump helloworld.o命令):

(4)链接:gcc -o helloworld helloworld.o

链接是将汇编生成的OBJ文件、系统库的OBJ文件、库文件链接起来,最终生成可以在特定平台运行的可执行程序。用ls命令可以看到文件夹中多了一个名为"helloworld"的文件:

注意:如果想一步操作(包括预处理,编译,汇编,链接)的话可以用:gcc helloworld.c (为指明输出文件,默认是a.out)或 gcc -o helloworld helloworld.c)

(5)执行可执行文件helloworld或a.out:

参考目录

https://blog.csdn.net/nyist_zxp/article/details/81429615
https://blog.csdn.net/childbor/article/details/97136401
https://blog.csdn.net/guoguo11191/article/details/8088356

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291193.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号