Linux应用程序之Helloworld入门

2023-05-16


对于初学者来说(本人就是),如何开始写第一个程序至关重要。有的时候一个简单的问题会严重影响到学习的积极性和自信心。

这里结合实际工作中的一些经验,总结方法步骤,对Linux下应用程序Helloworld入门做一个简单的介绍。不仅仅作为一个个人的小结,也希望能对各位学习中的朋友能有帮助。


第一步:首先需要一个ubuntu系统,可以是PC机,服务器,甚至是虚拟机(比如Vmware);

第二步:在ubuntu系统上安装gcc编译器,可以采用如下命令;

$ sudo apt-get install gcc

gcc 版本如下:


第三步:使用vim或者vi编辑器,编辑app_helloworld.c文件;

$ vi app_helloworld.c
app_helloworld.c文件内容如下:

#include <stdio.h>
int main(int argc, char **argv)
{
        printf("Hello world, this is my first app!\r\n");
        return 0;
}

第四步:编译app_helloworld.c

$ gcc -o app_helloworld app_helloworld.c

第五步:运行app_helloworld程序



到这里,相信Linux下简单的Helloworld应用程序应该已经非常明白了。这里仅仅是做一个衍生的思考,Helloworld是如何运行起来的?我们看看这个应用程序依赖了什么?


分析下我们可以看到printf是由libc.so.6提供的函数实现,而另外两个又是什么呢?大家可以发散下思维,后续小结中我们给出更进一步的分析。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux应用程序之Helloworld入门 的相关文章

  • Charles电脑配置和手机配置【超详细,iOS和安卓】

    1 xff0c 电脑安装charles charles的安装非常简单 xff0c 直接通过charles官网安装最新版即可 Charles 是收费软件 xff0c 可以免费试用 30 天 试用期过后 xff0c 未付费的用户仍然可以继续使用
  • vmmem内存占用高

    文章目录 前言通过 wslconfig限制其内存使用 前言 什么时vmmem进程 vmmem进程时在使用vmware时的进程 xff0c 内存占用非常高 我是在使用docker时遇到的这个进程 通过 wslconfig限制其内存使用 这个方
  • QGroundControl之安装调试

    QGroundControl之安装调试 1 源由2 问题汇总2 1 摄像头播放问题2 2 Windows电脑录像和拍照保存位置2 3 Android设备录像和拍照保存位置 3 打包资料4 附录 QGroundControl Video St
  • ArduPilot之posHold&RTL实测

    ArduPilot之posHold amp RTL实测 1 源由2 模式配置3 测试步骤4 飞行实测5 总结6 参考资料7 附录 关于QGC 暂不支持MAVLink2 signing Protocol问题7 1 问题描述7 2 硬件配置7
  • ArduPilot之开源代码Library&Sketches设计

    ArduPilot之开源代码Library amp Sketches设计 1 简介1 1 Core libraries1 2 Sensor libraries1 3 Other libraries 2 源由3 Library Sketche
  • ArduPilot之开源代码Sensor Drivers设计

    ArduPilot之开源代码Sensor Drivers设计 1 源由2 Sensor Drivers设计2 1 front end back end分层2 2 设计思想分析 3 实例理解3 1 驱动初始化3 2 业务应用代码3 3 fro
  • ArduPilot之开源代码基础知识&Threading概念

    ArduPilot之开源代码基础知识 amp Threading概念 1 源由2 基础知识2 1 The timer callbacks2 2 HAL specific threads2 2 1 AP HAL ChibiOS2 2 2 AP
  • ArduPilot之GPS Glitch问题&M8N模块配置

    ArduPilot之GPS Glitch问题 amp M8N模块配置 1 源由2 现象3 视频分析3 1 配置 xff08 不理想 xff09 3 2 配置优化3 3 优化配置 43 短时间 43 3D Lock 43 Glitch3 4
  • BetaFlight统一硬件配置文件研读

    BetaFlight统一硬件配置文件研读 1 源由2 分析2 1 硬件SOC2 2 统一配置文件2 3 cli命令2 4 板级配置主要命令2 4 1 board name2 4 2 manufacturer id2 4 3 resource
  • BetaFlight统一硬件配置文件研读之timer命令

    BetaFlight统一硬件配置文件研读之timer命令 1 源由2 代码分析3 实例分析4 配置情况4 1 AFn配置查表4 2 timer4 3 timer show4 4 timer pin list 5 参考资料 统一硬件配置文件的
  • 自制肥鲨HDO2电源之功率问题

    自制肥鲨HDO2电源之功率问题 1 源由2 分析2 1 电压检测2 2 功率检测 3 思考4 验证4 1 PH50 10400mAh充电宝供电4 2 PH80 20000mAh充电宝供电4 3 总结 5 参考资料 1 源由 前端时间因为肥鲨
  • BetaFlight统一硬件配置文件研读之serial命令

    BetaFlight统一硬件配置文件研读之serial命令 1 源由2 代码分析3 实例分析4 配置情况5 参考资料 统一硬件配置文件的设计是一种非常好的设计模式 xff0c 可以将硬件和软件的工作进行解耦 1 源由 cli命令中seria
  • Mac配置环境变量后所有命令失效(多条解决方案)

    目录 1 xff0c 首先让命令暂时生效 xff0c 但关窗口后不生效了就 2 xff0c 该操作会清空之前配置的bash profile xff0c 来使命令生效 3 xff0c 该操作可保存原来的bash profile的配置 xff0
  • BetaFlight统一硬件配置文件研读之set命令

    BetaFlight统一硬件配置文件研读之set命令 1 源由2 代码分析3 实例分析4 配置情况4 1 set4 2 set parameter name4 3 set parameter name value 5 参考资料 统一硬件配置
  • BetaFlight统一硬件配置文件研读之feature命令

    BetaFlight统一硬件配置文件研读之feature命令 1 源由2 代码分析3 实例分析4 配置情况4 1 feature4 2 feature list4 3 feature feature name4 4 feature feat
  • BetaFlight统一硬件配置文件研读之dma命令

    BetaFlight统一硬件配置文件研读之dma命令 1 源由2 代码分析2 1 cliDma2 2 showDma2 3 cliDmaopt 3 实例分析4 配置情况4 1 dma4 2 dma show4 3 dma device li
  • BetaFlight统一硬件AOCODARC H7DUAL配置文件讨论

    BetaFlight统一硬件AOCODARC H7DUAL配置文件讨论 1 源由2 Review配置3 分析整理3 1 生产商信息3 2 磁力计3 3 气压计3 4 陀螺仪3 5 串口RxTx3 6 板载Flash3 7 模拟OSD MAX
  • BetaFlight Mark4之“妖怪”声音

    BetaFlight Mark4之 妖怪 声音 1 源由2 分析3 数据3 1 配置一3 1 1 妖怪 声音 黑匣子分析 3 2 配置二3 2 1 仅配置调整 xff08 其他不变 xff09 3 2 2 配置调整 43 整体螺丝锁紧 4
  • FileZilla 安装使用指南

    FileZilla是一个FTP开源项目 xff0c 这里介绍下FTP客户端的安装和使用 61 FileZilla客户端下载 61 FileZilla 最新版本下载 首先 xff0c 可以在FileZilla官方网站上找到客户端下载链接 xf
  • Cygwin本地安装

    61 61 61 说明 61 61 61 当前Cygwin的版本是在线安装之后 xff0c 保存在本地后形成的本地版本 当前操作系统是Windows 8 xff0c 本教程仅提供安装Cygwin的方法 61 61 61 安装步骤 61 61

随机推荐

  • win7自动登录进入桌面系统的配置方式

    Win7直接自动进入桌面的方法 61 61 步骤一 xff1a 在打开命令编辑框 xff0c 键入控制命令 61 61 先在Win7中按 Win 43 R 键打开运行对话框或者是点 开始 菜单 xff08 如下图 xff09 xff0c 在
  • VC6下采用ShellExecuteEx提升管理员权限

    bool IsOsVersionVistaOrGreater OSVERSIONINFOEX ovex CHAR szVersionInfo 1024 szVersionInfo 61 39 x00 39 设置参数的大小 xff0c 调用并
  • Redis开源代码读书笔记一(介绍)

    本人一直是C语言走过来的 xff0c 最近闲来无事 xff0c 学习和研究下Redis开源代码 xff0c 并计划随着代码的深入理解做个简单的读书笔记 xff0c 希望和大家一起学习和探讨 当然第一篇仅仅是做个介绍啦 xff0c 可能更多的
  • karate参数使用和设置debug超长延时

    常用参数 1 patch 和 put patch xff1a 只上传其中一部分参数 xff0c 不幂等put xff1a 幂等 xff0c 要上传完整参数体 2 xff0c And Param req 和 And request req P
  • Redis开源代码读书笔记二(源代码及工程结构)

    Redis是一款采用C语言开发的 lt Key Value gt 内存数据存储系统 今天主要3 0 7版本的的源代码和工程结构 xff0c 并初步分解一下Redis内部开发模块及组成 从Makefile文件和其执行过程及输出日志 xff0c
  • Redis开源代码读书笔记三(zmalloc模块)

    模块特性 61 61 支持内存分配配置 61 61 支持线程安全 61 61 支持内存分配失败异常处理流程自定义 61 61 支持字符串复制操作 61 61 支持当前内存大小占用记录 61 61 支持内存碎片化计算 61 61 支持系统内存
  • Redis开源代码读书笔记四(redis-server主程序, redis.c)

    Redis工程代码从 Redis开源代码读书笔记二 xff08 源代码及工程结构 xff09 中可以看出 xff0c 是非常出色的模块化代码 因此 xff0c 从敏捷的角度看 xff0c 是非常易于阅读和增量开发的 由于琐碎时间的原因 xf
  • Redis开源代码读书笔记五(adlist模块)

    adlist功能特性 61 61 支持双链表节点操作 ins del add create dup release search rotate index 61 61 支持双链表iter操作 get release rewind next
  • Redis开源代码读书笔记六(sds模块)

    SDS是一个动态字符串库 xff0c 主要用于字符串操作 SDS模块功能特性 61 61 支持字符串基本操作 new free dup cpy append add trim cmp range split join lower upper
  • Redis开源代码读书笔记零(Ubuntu14.04 64位安装)

    Redis代码可以在Linux OSX OpenBSD NetBSD FreeBSD系统上进行部署 xff0c 并且支持大小端CPU类型 学习环境采用了一台Ubuntu14 04 64位的系统 xff0c 所有代码的学习是基于redis 3
  • Redis开源代码读书笔记七(ae模块)

    AE模块是一个简单的文件事件和定时器事件的处理模块 AE模块功能 61 61 支持事件ms级时间粒度 61 61 支持定时器事件处理 单链表 支持删除定时器事件操作 支持事件处理流程及私有数据 61 61 支持文件事件处理 数组 支持文件读
  • Redis开源代码读书笔记八(anet模块)

    anet模块主要为对通信API的抽象和封装 anet功能特性 61 61 支持Unix Domain Socket服务 61 61 支持V4 V6版本的Tcp Socket服务 61 61 支持阻塞及非阻塞式TCP连接 61 61 支持Tc
  • Redis开源代码读书笔记九(Object模块)

    Object功能特性 61 61 支持REDIS STRING REDIS LIST REDIS SET REDIS ZSET REDIS HASH对象类型 61 61 支持对象引用计数 61 61 支持对象内存优化 61 61 支持对象比
  • 【C语言】函数默认实现和用户自定义实现编程方法 -- 【weak, strong alias】

    现在很多业务开发 xff0c 尤其是互联网应用 xff0c 绝大多数采用的是Java xff0c 这个不仅仅是Java语言的流行 xff0c 还有很多分布式框架都是采用的Java 而传统的C C 43 43 开发更为偏向底层等高效率基础功能
  • redis启动失败

    可能端口被占用 解决方法 xff08 1 xff09 打开cmd xff0c 查看端口6379是否被某个进程占用 xff0c 跳出一个空白cmd说明被占用 telnet 127 0 0 1 6379 xff08 2 xff09 重新打开一个
  • Linux下C语言实现文件遍历,支持嵌套和文件数量统计

    Linux命令行下有两个非常基本的命令 xff0c 一个是ls xff0c 一个是tree xff0c 其分别能够列出当前目录下的文件和树形方式嵌套显示目录结构 因为网络上有很多版本的文件遍历代码 xff0c 代码都没有整理过 xff0c
  • Linux系统参数配置简介

    Linux服务器在对应用程序进行优化配置的时候 xff0c 经常使用到sysctl和PAM两个模块对服务器进行优化 关于这两块的介绍也很多 xff0c 这里主要集中了相关内容 xff0c 并整体做了一个介绍 sysctl内核参数配置 使用
  • WindowsXp重启后,如何取消图标自动重排?

    问题现象 xff1a 在桌面右键 gt 排列图标 gt 自动排列 xff0c 功能取消后 xff08 对号去掉 xff09 xff0c 把图标拉到了桌面的右侧 可是注销或重启电脑之后 xff0c 图标又变成自动排列了 自动排列的对号也又自动
  • WindowsXp重启后,自定义任务栏丢失

    大致有以下几个原因导致自定义任务栏丢失 xff1a 第一 xff0c 系统设置 xff0c 重启时默认移除所有自定义任务栏 第二 xff0c 优化软件将自定义任务栏优化了 大致可以采用以下方法解决任务栏问题 xff1a 1 快速启动栏丢失
  • Linux应用程序之Helloworld入门

    对于初学者来说 xff08 本人就是 xff09 xff0c 如何开始写第一个程序至关重要 有的时候一个简单的问题会严重影响到学习的积极性和自信心 这里结合实际工作中的一些经验 xff0c 总结方法步骤 xff0c 对Linux下应用程序H