linux 下C类语言开发,需要看那些书做入门(非语言类书籍)? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
sgissb1
V2EX    程序员

linux 下C类语言开发,需要看那些书做入门(非语言类书籍)?

  •  
  •   sgissb1 2013-11-23 22:49:09 +08:00 6270 次点击
    这是一个创建于 4350 天前的主题,其中的信息可能已经有所发展或是发生改变。
    linux基本几个命令还是会的。以前写代码为了省事就用IDE来写。

    最近在看一些开源代码,发现貌似老外就用emace或者vi之类编辑器来写。

    现在是想了解一下linux自己搭建一个编译工程出发(脱离IDE的帮助),需要看哪些书?

    unix高级编程,属于什么时期看的书?长时间在win下做开发,linux不是非常熟悉。
    第 1 条附言    2013-11-25 19:46:22 +08:00
    感谢各位大叔大婶的热情帮忙,但各位大叔大婶貌似没注意。

    语言类书籍就不用推荐了。工作已经有一段时间了,这方面看啥书心里还是有个底的。

    gcc g++会简单用用。

    我现在打算熟悉linux api,以及在linux搭建一个编译工程(没有IDE的头疼病)。

    如果有什么好的建议也欢迎回帖。谢谢
    28 条回复    1970-01-01 08:00:00 +08:00
    forgottencoast
        1
    forgottencoast  
       2013-11-23 22:53:50 +08:00
    立即动手,遇到问题Google搜索。
    after1990s
        2
    after1990s  
       2013-11-23 22:54:49 +08:00
    UNIX 高级编程
    onemoo
        3
    onemoo  
       2013-11-23 22:56:56 +08:00
    我觉得如果LZ会Linux的基本使用的话,就看LZ说的那本书好了。
    xdeng
        4
    xdeng  
       2013-11-23 23:11:26 +08:00
    做过win 入linux 更简单 无非就是 open read write close unix环境高级编程
    sgissb1
        5
    sgissb1  
    OP
       2013-11-23 23:22:50 +08:00
    @xdeng
    我现在其实有2个疑问。
    第一个疑问是,linux下api熟悉。这些的话,看那些书靠谱点,这年头烂书多。如果unix高级编程可以直接看的话那我就去看。

    我是3年C++,另外我还想了解一下linux比较常用的一些基础类库。我目前就知道posix、stl、boost。win下的话,我就用stl多一些。

    另外一个就是工程编译方面的问题。在win下有vs帮我搞定这个问题。
    linux下,我看到开源分为configure和make 2个阶段。

    轻松学makefile的那本书我至今没看懂。configure我也不会写。所以工程编译是我最头疼的。另外就是调试,看到高手们都是命令行gdb。调试有没有便捷的环境?

    目前发现linux下的IDE做的都各位优劣,用vs习惯了。所以linux下IDE感觉很不好用,功能不足或者问题太多。


    @onemoo 直接上那本可行?
    onemoo
        6
    onemoo  
       2013-11-23 23:31:55 +08:00
    @< href="/member/sgissb1">sgissb1
    LZ是有C/C++语言的基础的,要学Linux下的开发。
    那我觉得《unix环境高级编程》就可行,等于直接学了系统调用(相当于win的api)。

    构建方式啊、makefile啊什么的可以由简入深,边练边学。你一开始写个简单的代码,直接敲gcc就可以了。这些构建工具无非是增加了便利性,所以当你写的代码越来越复杂时,就自然会用这些构建工具了。当然这期间要多google和man

    其他的各种库也同理,慢慢就了解了...

    P.S. 本人也是菜鸟,个人愚见仅供参考。
    sgissb1
        7
    sgissb1  
    OP
       2013-11-24 00:06:41 +08:00
    @onemoo 。。。。。。其实我就只想走应用方面,快速了解linux有那些库比较流行,然后我熟悉一下。

    接着构建必须要学的,毕竟不可能和初学c/c++的哥们一样一步一步来,相对来说有些部分的内容应该是无缝的。
    wlxiong
        8
    wlxiong  
       2013-11-24 00:19:57 +08:00
    推荐读读 An Introduction to GCC for the GNU Compilers gcc and g++
    by Brian Gough, Foreword by Richard M. Stallman
    http://www.network-theory.co.uk/docs/gccintro/
    xdeng
        9
    xdeng  
       2013-11-24 00:52:10 +08:00 via iPhone
    学了Linux后 鼠标基本没用了。你就会觉得VS是最好的 最体贴的 最强大的ide了 Linux和win大同小异的 你都3年c++了 就差熟悉API了吧 习惯就好 本人也是菜鸟
    bombless
        10
    bombless  
       2013-11-24 07:11:25 +08:00
    UNIX编程艺术吧
    有很多通用的编程技巧可以学学,我觉得非常好。

    可以看看《flex和bison》,以防你哪天要改造C语言,哈哈
    sgissb1
        11
    sgissb1  
    OP
       2013-11-24 08:39:31 +08:00
    @wlxiong thx

    @xdeng 搭建工程也是个头疼病。c类语言在工程搭建上一直是个大问题。
    sgissb1
        12
    sgissb1  
    OP
       2013-11-24 08:47:26 +08:00
    @bombless 不,你说错了!我不改造C C++。我要改革计算机体系~~~ 发明操作系统并且要征服宇宙!解释我会聘请你做顾问。哥们到时候你一定要出现哦~~~~

    你推荐第一本书确实很有用,问题在于一说到“艺术”、“哲学”,我就很排斥。就像《深入浅出MFC(侯捷翻译的那本)》一样,尼玛一本讲技术的书,非要搞成诗集有必要么?再说了,很多程序员都是理科或者工科出身的,未必有这么好的艺术气息啊。

    技术书是拿来欣赏还是找困扰?头疼啊头疼。

    还是thx,如果有类似书,而且写书人比较正常一点的,欢迎推荐一下。
    missdeer
        13
    missdeer  
       2013-11-24 09:09:22 +08:00 via Android
    unix编程艺术一书适合到了一定阶段(大概中级水平吧)看,即使是只做win开发的人也有帮助,只是有些观点会跟你一直来的想法有冲突。
    sgissb1
        14
    sgissb1  
    OP
       2013-11-24 09:36:16 +08:00
    @missdeer 哦,那我看看去。我就怕和《深入浅出MFC》的中文版一个样子,一堆诗歌散文,我就崩溃了
    kelvin_fly
        15
    kelvin_fly  
       2013-11-24 12:58:19 +08:00
    @sgissb1 看你这个情况,我觉得目前最适合的是 《linux c一站式编程》 了。 看上两周后可以接楼上们推荐的书了。 相信我,我是过来人……
    RisingV
        16
    RisingV  
       2013-11-24 13:18:29 +08:00
    BLP ->《the beginning of linux programing》
    sgissb1
        17
    sgissb1  
    OP
       2013-11-24 13:18:36 +08:00
    @kelvin_fly ok,走起
    join
        18
    join  
       2013-11-24 22:15:35 +08:00
    简单的写点makefile
    学习下gcc的调试与一些编译选项
    找一个顺手的editor
    看一些优秀项目的源码:推荐lua
    学习网络编程方面的知识
    hhkbp2
        19
    hhkbp2  
       2013-11-24 23:05:48 +08:00
    欢迎加入Emacs党
    yanjunjie
        20
    yanjunjie  
       2013-11-25 16:56:01 +08:00
    linux c编程一站式学习
    yanjunjie
        21
    yanjunjie  
       2013-11-25 16:58:44 +08:00
    coolypf
        22
    coolypf  
       2013-11-25 20:16:50 +08:00
    Linux 下编程,查 API 直接 man 命令,例如: man 2 shutdown 。
    另外推荐一个极好的 C++ 类库 POCO 。
    https://pocoproject.org/
    Ricepig
        23
    Ricepig  
       2013-11-25 21:02:47 +08:00
    Unix高级编程

    然后可以用Eclipse或者Netbeans,能帮你生成一些makefile。

    实际上现在直接用makefile的机会也不多了,都是各种生成。
    wizardoz
        24
    wizardoz  
       2013-11-26 09:19:32 +08:00
    有一本书叫《Unix实用编程技术》还是什么的,所谓“实用”,其实是手把手教你一些简单Linux命令的实现,如ls的实现,管道的实现等等。这些东西其实包含了Linux应用层的核心思想,所以看一下里面例子的实现,会有对Linux shell的理解豁然开朗的感觉。
    迁移到一个平台,API当然不是最重要的,重要的是了解在这个平台下的人都是怎么做的。所以不建议上来就看什么API手册之类的。可以先看一些文化类的,如《Unix编程艺术》。
    gouera
        25
    gouera  
       2013-11-26 09:44:40 +08:00
    @wizardoz 那书叫什么啊,我搜你这个名字搜不到。。
    Jellyan
        26
    Jellyan  
       2013-11-26 11:44:23 +08:00
    《Linux 程序设计》 这本入门不错

    http://book.douban.com/subject/2073826/
    wizardoz
        27
    wizardoz  
       2013-11-26 12:04:01 +08:00   2
    @gouera 不好意思,多年前看的,名字记混了。我刚刚亚马逊看了一下,我说的应该是这本《Unix\Linux编程实践教程》。适合有一定编程基础的人快速了解Linux。
    kneep
        28
    kneep  
       2013-11-27 10:45:18 +08:00
    推荐两本书:
    第一本:Advanced Programming in the UNIX Environment,http://www.amazon.com/Programming-Environment-Addison-Wesley-Professional-Computing/dp/0321525949
    第二本:Linux System Programming,http://www.amazon.com/Linux-System-Programming-Talking-Directly/dp/1449339530
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2925 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 12:37 PVG 20:37 LAX 05:37 JFK 08:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86