Ubuntu系统使用gcc和makefile编译C程序

本文是为了在vmware虚拟机上联系使用Ubuntu18.04系统编译多个C程序来熟悉在Linux系统下编写C程序的操作。并通过gcc和makefile两种编译方式来进行编译。

目录

(一)直接使用gcc编译C程序
(二)与windows平台编程对比
(三)使用makefile编译C程序

``

一、直接使用gcc编译C程序

1.C程序的编写
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、gcc编译过程
在这里插入图片描述
3、gcc的编译
步骤一:
命令:gcc -c sub1 .c(将sub1.c程序转化为目标文件sub1.o)
步骤二:
命令:gcc main.c sub1.o -o main(编译main.c文件为目标文件main.o,然后链接sub1.o目标文件生成main可执行文件)
步骤三:
命令:./main,即可以执行编译生成main文件
在这里插入图片描述

二、与windows平台编程对比

工具:Visual Studio Code
程序:与Ubuntu系统上一致
遇到的问题
无法多文件编译
在这里插入图片描述

因为我的文件夹下有一个main1c文件, sub1.h和sub1c文件。此时如果在
main1c文件下直接点击运行按钮会报错,因为sub1c并没有编译,因此会出现 main1c引用的sub1c中的函数没有定义的问题。
collectz.e or: ld retu 1 exit status

解决方法(默认已安装CodeRunner)
方法一:直接将sub1.h改为sub1c,但是这种做法相当于把两个程序合并为一个,不提倡这样做,因为多次 include可能合出问题。
方法二 Runner支持编译
该文件夹下全部c文件,首先打开文件->首选项->Settings。然后在设置页面搜索CodeRunner,找到Code,点击在settingsjson中编辑,打开 settingsjson文件如图,找到
executorMap设置项,在其中c程序对应的一行,修改其中的gcc
Sfilename为gcc*c(最好将原来的注释掉然后重新复制一份再修改)。

修改保存之后,再点击CodeRunner运行按钮,可以直接编译运行了。
·运行结果
在这里插入图片描述

三、使用makefile编译C程序

1、编写makefile 文件
2、使用makefile编译C程序
步骤一:
在源目录下执行命令make,即可得到可执行文件main
步骤二:
在源目录文件下执行命令clean make,即可删除编译过程产生的.o文件点击在settingsjson中编辑
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值