Linux:上运行C程序以及可能出现的问题

步骤:先编译->在运行

编译:

  假如我写了个helloworld.c的C源代码文件
首先使用gcc编译器来完成编译,指令如下:

gcc -o helloworld helloworld.c

  这里的-o是指 指定生成的可执行文件名,这里是helloworld。如果没有指定,则编译器生成一个默认的可执行文件名,通常为a.out
最终,在Linux中,编译器将源代码编译成目标代码,然后目标代码转化为机器代码,生成可执行文件。

运行:

  程序编译完成后,我们可以执行文件,指令如下:

./helloworld

  最终结果如下:
在这里插入图片描述

出现的问题

:1:10: fatal error: stdio.h: 没有那个文件或目录
    1 | #include <stdio.h>
      |          ^~~~~~~~~
compilation terminated.

在这里插入图片描述
  应该是开发环境的不完整导致的,可以输入以下命令进行安装:

sudo apt-get install build-essentialsudo apt-get install build-essential

  但是仍可能出现下面问题

sudo apt-get install build-essential
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:
下列软件包有未满足的依赖关系:
 libc6-dev : 依赖: libc6 (= 2.35-0ubuntu3) 但是 2.35-0ubuntu3.1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

  原因是系统已经安装的是2.35-0ubuntu3.1的版本。但这里需要安装2.35-0ubuntu3版本,所以要进行降级,可以使用以下安装指令:

sudo apt install --reinstall libc6=2.35-0ubuntu3

  之后在进行以下指令,就可以了,但版本的更换可能存在突发风险,导致其他软件的不可用,所以要谨慎使用。

sudo apt-get install build-essential

在这里插入图片描述
  最终Hello,World!

只有当你站在上面,看到它的美,听到悬索在风中歌唱。
这是一种体验,是一种人类的体验。不只是想象,而是生活
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值