java学习视频 HashMap Finder vim复制 tsql oop callback vue注册组件 vue添加class pmp学习视频 网赚教程下载 photoshop cs3 教程 c语言求和 python运行环境 python集合 python自学教材 python的安装路径 java抽象 java数据库 java接口的实例 java删除数组中的某个元素 linux系统安装步骤 linuxshell编程 ntscan 乱码查看器 枪神传说辅助 电脑手机模拟器 win10有几个版本 有线网卡驱动下载 游戏linux正则表达式 js刷新当前页 威纶通触摸屏编程软件 c程序 renderpartial 屏幕录像机 商标查询软件 网红男头像 网页广告 微信获取用户信息 手机手写怎么设置
当前位置: 首页 > 学习教程  > 编程语言

开课吧:C++学习的方向是什么?

2021/1/13 19:20:42 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

上面说了 Linux 服务器开发的前景和学习方式,接下来再说一下学习线路。 语言&工具 C语言和C是传统的 Linux 开发的语言,需要掌握。除了基本的语法,还要玩转一套工具链。 经典的组合是 GCC(编译器) Make/Makefile&…

上面说了 Linux 服务器开发的前景和学习方式,接下来再说一下学习线路。

  1. 语言&工具
    C语言和C++是传统的 Linux 开发的语言,需要掌握。除了基本的语法,还要玩转一套工具链。
    经典的组合是 GCC(编译器)+ Make/Makefile(构建中大型项目必须的工具)+ GBD(调试器)+ Valgrind(内存分析工具)+ Vim/EMACS/Gedit/Sublime Text(编辑器)。
    现在有越来越多的新项目使用 Clang/LLVM 来构建了,例如 Android NDK 已经放弃GCC,全面转向 Clang。
    由于 C++ 语法变态,到处都是奇技,并且没有内存回收机制,所以被最近几年大火的 Golang 完爆了,不少底层项目开始转向 Golang,弃用 C++。嗯,这是好事,作为《C++教程》的作者我已经恶心透了,C++ 这种骚贱的语言早就该被爆操了。

对于初学者来说,不要贪多嚼不烂,先学好 C/C++ 语言,掌握 GCC 就可以,Clang/LLVM 和 Golang 留着以后再学。

  1. 数据结构和算法
    学习基本的,了解概念就可以,很多库已经封装好了常用的数据结构和算法,实际开发中你不用从零开始,所以千万不要陷在里面不能自拔,算法是个无底洞,耗死你。记住,以后需要了可以再来回顾,不用一开始就吃透。
  2. 操作系统
    除了基本的 Linux 操作,还有必要了解一些常用命令;当然,这不是重点,只要你经常使用 Linux 操作系统,慢慢就会了。
    内存(虚拟地址空间、内存分配策略)+ 进程线程(进程通信、线程调度、死锁) + 文件系统 + 输入输出 + 中断等才是重点。这些都是理论,要和实践相结合起来。
  3. 通信(Socket)
    在服务器上做开发,通信是必不可少的,而且是重中之重。除了了解 TCP/IP 协议族,还要学习 socket 编程,将理论和实践集合起来。
    ACE、Libevent、Libev 等知名的网络库也要掌握一两个的,毕竟在实际开发中不可能直接调用 Linux API 吧,怎么也得搞个库来提高效率。
  4. 界面库
    当然,在服务器领域一般不需要界面,但是掌握一个界面库会让你做出一个好玩的软件来,学以致用,提高兴趣。
    Linux 下常用的界面库有 Qt、GTK、WxWidgets 等,其中 Qt 是老大。
    搞 Linux 开发,操作系统原理和通信是重点,也是最难学的部分,这是你跨进 Linux 开发这扇大门的标志,不学这些就是耍流氓。

本文链接: http://www.dtmao.cc/news_show_600038.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?