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
    +关注

    关注

    87

    文章

    11304

    浏览量

    209493
  • 操作系统
    +关注

    关注

    37

    文章

    6823

    浏览量

    123331
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136816
收藏 人收藏

    评论

    相关推荐

    linux是实时系统还是分时操作系统

    大家平时玩单片机基本上对于µC/OS、FreeRTOS、ThreadX这些操作系统非常熟悉了,他们都属于实时操作系统(RTOS),在工业领域比较广泛;然而对于linux这样的基于时间片
    的头像 发表于 11-11 11:43 466次阅读

    linux操作系统安装步骤 linux操作系统的特点及组成

    Linux操作系统安装步骤 Linux操作系统是一种开源的操作系统,它以其稳定性、安全性和灵活性而闻名。以下是安装
    的头像 发表于 10-21 11:24 544次阅读

    脉冲式充电器的使用注意事项

    充电操作,以免引发火灾或爆炸事故。 遵循操作规范 :遵循使用说明书中的操作指南和注意事项,如有疑问或不确定如何操作时,应及时咨询专业人士的意
    的头像 发表于 09-26 16:05 811次阅读

    从JESD204B升级到JESD204C时的系统设计注意事项

    电子发烧友网站提供《从JESD204B升级到JESD204C时的系统设计注意事项.pdf》资料免费下载
    发表于 09-21 10:19 3次下载
    从JESD204B升级到JESD204<b class='flag-5'>C</b>时的<b class='flag-5'>系统</b>设计<b class='flag-5'>注意事项</b>

    MSP430系统级ESD注意事项

    电子发烧友网站提供《MSP430系统级ESD注意事项.pdf》资料免费下载
    发表于 09-21 09:20 1次下载
    MSP430<b class='flag-5'>系统</b>级ESD<b class='flag-5'>注意事项</b>

    关于降压转换器中启动电阻器的设计注意事项

    电子发烧友网站提供《关于降压转换器中启动电阻器的设计注意事项.pdf》资料免费下载
    发表于 09-06 11:29 0次下载
    <b class='flag-5'>关于</b>降压转换器中启动电阻器的设计<b class='flag-5'>注意事项</b>

    FMD LINK 使用注意事项

    电子发烧友网站提供《FMD LINK 使用注意事项.pdf》资料免费下载
    发表于 05-06 10:11 0次下载

    瑞萨CTSU程序在向嵌入式OS操作系统移植时的注意事项

    瑞萨CTSU程序在向嵌入式OS操作系统移植时的注意事项
    的头像 发表于 03-29 08:05 355次阅读
    瑞萨CTSU程序在向嵌入式OS<b class='flag-5'>操作系统</b>移植时的<b class='flag-5'>注意事项</b>

    C语言基础-为什么要使用C

    当今最流行的 Linux 操作系统和 RDBMS(Relational Database Management System:关系数据库管理系统) MySQL 都是使用 C
    发表于 03-25 11:20 443次阅读

    光模块使用可能遇到的问题以及注意事项

    光模块使用中常见问题及注意事项:兼容性问题、温度问题、插拔操作问题、故障诊断问题。
    的头像 发表于 03-11 15:32 898次阅读

    RX66N组的高温操作注意事项

    电子发烧友网站提供《RX66N组的高温操作注意事项.pdf》资料免费下载
    发表于 01-29 11:22 0次下载
    RX66N组的高温<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    RX72N组的高温操作注意事项

    电子发烧友网站提供《RX72N组的高温操作注意事项.pdf》资料免费下载
    发表于 01-29 11:21 0次下载
    RX72N组的高温<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    RX78M组的高温操作注意事项

    电子发烧友网站提供《RX78M组的高温操作注意事项.pdf》资料免费下载
    发表于 01-29 11:19 0次下载
    RX78M组的高温<b class='flag-5'>操作</b><b class='flag-5'>注意事项</b>

    电子负载并联操作注意事项

    电子负载并联操作注意事项 电子负载是一种测试和模拟电路负载的设备,可以模拟不同负载条件的电流和电压。电子负载的并联操作是指将两个或更多个电子负载连接在一起以增加负载容量和灵活性。通
    的头像 发表于 01-22 13:42 1215次阅读

    Linux操作系统中如何按PCIe的复位键

    Linux操作系统中,看如何按PCIe的复位键
    的头像 发表于 01-20 09:31 1584次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>操作系统</b>中如何按<b class='flag-5'>下</b>PCIe的复位键