0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Linux操作系统下C语言编程注意事项

Goodtimes 作者:电子发烧友网 2019-02-04 16:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、工具的使用

1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。

2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。

3、掌握gcc和gdb的基本用法。掌握gcc的用法对于构建一个软件包很有益处,当软件包包含的文件比较多的时候,你还能用gcc把它手动编译出来,你就会对软件包中各个文件间的依赖关系有一个清晰的了解。

4、掌握svn/cvs的基本用法。这是linux,也是开源社区最常用的版本管理系统。可以去试着参加sourceforge上的一些开源项目。

二、linux/unix系统调用与标准C库

系统调用应用软件与操作系统接口,其重要性自然不用说,一定要掌握。推荐学习资料为steven先生的UNIX环境高级编程(简称APUE)。

三、库的学习

无论是在哪个平台做软件开发,对于库的学习都很重要,linux下的开发库很多,我主要介绍一下我常常用到的一些库。

1、glib库

glib 库是gtk+和gnome的基础库,并具是跨平台的,在linux、unix和windows下都可以用。glib库对于linux平台开发的影响就像 MFC对windows平台开发的影响一样,很多开源项目都大量的使用了glib库,包括gimp、gnome、gaim、evolution和 linux下的集群软件heartbeat。因为glib库自带有基本的数据结构实现,所以在学习glib库的时候可以顺便学习一下基本的数据结构(包括 链表、树、队列和hash表)。

2、libxml库

libxml是linux平台下解析XML文件的一个基础库,现在很多实用软件都用XML格式的配置文件,所以也有必要学习一下。

3、readline库

readline 库是bash shell用的库,如果要开发命令行程序,那么使用readline库可以减少很多工作量,比如bash里的命令行自动补全,在readline里就已经 有实现,当然你也可以用自己的实现替代库的行为。readline库有很多网站介绍的,只要google一下readline就可以找到一堆了。

4、curses库

curses 库以前是vi程序的一部分,后来从vi里提取出来成为一个独立的库。curses库对于编写终端相关的程序特别有用,比如要在终端某一行某一列定位输出, 改变终端字体的颜色和终端模式。linux下的curses库用的是GNU实现的ncurses(new curses的意思)。

5、gtk+和KDE库

这两个库是开发GUI应用程序的基础库,现在linux下的大部份GUI程序都是基于这两个库开发的,对于它们 的学习也是很有必要的。

四、网络的学习

网络这个东西太宽了,推荐学习资料steven先生的UNIX网络编程(简称UNP)和TCP/IP协议详解,更进一步的话可以学习使用libnet编写网络程序。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217966
  • 操作系统
    +关注

    关注

    37

    文章

    7328

    浏览量

    128625
  • C语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144606
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    迅为RK3588开发板Android系统烧写及注意事项

    迅为RK3588开发板Android系统烧写及注意事项
    的头像 发表于 12-03 15:17 4685次阅读
    迅为RK3588开发板Android<b class='flag-5'>系统</b>烧写及<b class='flag-5'>注意事项</b>

    驱动板PCB布线的注意事项

    PCB Layout 注意事项 1)布局注意事项: ●● 整体布局遵循功率回路与小信号控制回路分开布局原则,功率部分和控制部分的 GND 分开回流到输入 GND。 ●● 芯片的放置方向优先考虑驱动
    发表于 12-02 07:40

    Enclustra瑞苏盈科产品使用注意事项

    我们准备了关于瑞苏盈科产品使用的注意事项,旨在帮助客户更快,更好的使用瑞苏盈科的产品,实现以最小化的成本提供理想的解决方案,帮助客户打造独树一帜的产品并减少上市时间。瑞苏盈科核心板使用注意事项:电子
    的头像 发表于 11-28 10:28 77次阅读
    Enclustra瑞苏盈科产品使用<b class='flag-5'>注意事项</b>

    关于探测器的操作、运输、焊接和静电防护注意事项

    探测器在在工业测量测绘,生物医药检测,消费电子等行业都有广泛的应用。探测器的封装包括金属,陶瓷和塑料等形式。本文主要是针对不同封装形式的探测器,讲解从开箱、安装、日常操作到长期存储的全周期注意事项
    的头像 发表于 11-17 07:40 52次阅读
    <b class='flag-5'>关于</b>探测器的<b class='flag-5'>操作</b>、运输、焊接和静电防护<b class='flag-5'>注意事项</b>

    Jtti Linux操作系统最常见的10大优势

    Linux操作系统的十大优势 Linux操作系统作为一种开源、自由的系统,已经广泛应用于个人计算机、服务器、嵌入式设备等多个领域。它的多样化
    的头像 发表于 11-06 15:32 127次阅读

    emWin AppWizard 开发注意事项有哪些?

    emWin AppWizard 开发注意事项
    发表于 09-04 06:18

    CCG2 type-c to DP 在layout时的注意事项是什么,差分线阻抗多少欧?

    我想问下CCG2type-c to DP 在layout时的注意事项是什么,差分线阻抗多少欧。
    发表于 05-30 07:23

    美国Odyssey奥德赛电池充电注意事项全解析

    Odyssey奥德赛电池充电注意事项全解析 奥德赛电池作为高性能的深循环铅酸电池,广泛应用于汽车启动、摩托车、船舶以及备用电源系统中。正确的充电方法不仅能够延长电池寿命,还能保障其性能稳定发挥
    的头像 发表于 05-19 16:31 902次阅读
    美国Odyssey奥德赛电池充电<b class='flag-5'>注意事项</b>全解析

    扫描电镜的日常维护有哪些注意事项

    扫描电镜日常维护的注意事项
    的头像 发表于 03-24 11:38 920次阅读
    扫描电镜的日常维护有哪些<b class='flag-5'>注意事项</b>?

    依托raksmart服务器在多种系统上本地部署deepseek注意事项

    在RAKsmart服务器上本地部署DeepSeek时,需根据不同的操作系统和环境做好全面适配。以下是关键注意事项及分步指南,主机推荐小编为您整理发布依托raksmart服务器在多种系统上本地部署deepseek
    的头像 发表于 03-19 11:25 726次阅读

    驱动板设计注意事项

    设计驱动板时我们需要考虑电路原理与元器件选择、PCB设计、热管理、电磁兼容性(EMC)、其他注意事项。以下是关于相关内容的详细介绍,让我们一起来简单的了解一吧!
    的头像 发表于 02-12 13:48 1060次阅读

    智多晶DDR Controller使用注意事项

    最后一期我们主要介绍智多晶DDR Controller使用时的注意事项
    的头像 发表于 01-24 11:14 1351次阅读
    智多晶DDR Controller使用<b class='flag-5'>注意事项</b>

    桥接安装注意事项

    桥接安装注意事项 1. 了解桥接的基本概念 在进行桥接安装之前,了解桥接的基本概念是非常重要的。桥接是一种在数据链路层实现网络互联的技术,它能够连接不同网络或同一网络的不同部分,允许数据在这些网络
    的头像 发表于 01-10 11:15 1094次阅读

    多层板埋孔设计注意事项

    多层板埋孔设计注意事项
    的头像 发表于 12-20 16:06 1239次阅读

    交流负载箱的安全事项注意事项有哪些?

    交流负载箱用于模拟实际负载的电气设备,广泛应用于电力系统、通信系统、自动化控制系统等领域。在使用过程中,为确保人身和设备安全,需要注意以下安全事项
    发表于 12-14 16:09