Linux C/C++ 学习路线

2023-05-16

一、秋招 Linux C/C++ offer 情况

二、Linux C/C++ 方向的一些思考

三、计算机基础知识的梳理

四、C++ 方向的深入学习路线

五、项目 + 亮点 + 面试的一些思考

六、总结

前言

Linux C/C++ 从零基础到大神的学习路线,自己的真实学习路线,干货很多,建议收藏,认真阅读。

在校期间,我一直走的都是 Linux C/C++ 学习路线,历经暑期实习、秋招决战、校招期间投的大部
分岗位都是 Linux C/C++ 后台方向,对于这个方向,有着自己的理解。

从接触 C++ 到我现在正式工作,大概有 2 年多的时间,对于这个方向的学习路线、以及学习编程的
方法摸索出来了一些,看完本文,希望对于正在走 Linux C/C++ 路上的同学能有所帮助。

一、秋招 Linux C/C++ offer 情况

本人就读于双非院校、非科班本科学生,专业是偏硬件的(学校课程只有一门 C 语言与编程相关,
其余的课程跟编程一点点的关系都没有),在校期间也没拿过什么大的奖项。

计算机基础为零,大二上学期接触 C 语言,大二一年学了 C 语言和数据结构,大三在学校的实验
室开始学习计算机基础和学习 C++ 方向,一路自学编程,始终相信自己,也是拿到了大厂 offer。

秋招 offer 情况:

腾讯 后台开发工程师(实习转正)
百度 手百 feeds 流,软件研发工程师
美团 后台开发 (C++ 方向面试)
作业帮 后台开发工程师
好未来 后台开发工程师
迅雷 后台开发工程师
盛大游戏 C++ 开发工程师

2017 年暑期实习腾讯,2018 年初实习百度,校招拿了十几个 Linux C/C++ 方向的 offer,
最终的选择也很玄学,去了自己想去的公司,从事自己喜欢的岗位,现在在编程的路上越
走越远。

二、Linux C/C++ 方向的一些思考

1、

对于方向的抉择,很多人都选择了 Java 或者 Python 方向,Java 或者 Python 方向确实学的人多,
岗位需求很多,入门能比 Linux C/C++ 方向容易一些,但是往深了学,各有各的难度,先敲定了方
向,再深入学习。

Linux C/C++ 方向,国内真正掌握的人,其实是极少数,这个方向的学习人数也是相对比较少的,入
门一般首选 C 语言或者 Python,C、C++ 在编程排行榜也是经久不衰的,排名靠前,如果喜欢,有兴
趣,走这个方向是可以的。

Linux C/C++ 方向,国内很多大公司都有招聘这个方向的岗位,BAT 都有,尤其腾讯,底层架构都是 
C++ 写的,百度核心搜索很多模块也是 C++ 写的,阿里云也在招聘 C++ 方向的工程师,这个方向,
学的不错的,根本不用担心找工作的问题,如果学的一般的,其实哪种语言就都比较难找了,毕竟都
知道it行业是技术竞争,优胜劣汰。

Linux C/C++ 的效率是比 Java、Python 快一些的,更偏向于底层,能直接操作内存,对于编程思维、
逻辑能力的提升是有帮助的;其实学习这个方向,是有一点枯燥的,不像 Python 爬虫、Java、前端能
做出一些有趣的东西,小程序开发出一些产品,都能很快用于实战,获得编程的乐趣,进一步刺激自己
学习。

C++ 方向没有那么多有趣的东西可以做,在很长的一段时间内,要靠自己的兴趣去坚持学习。

2、

我在大三的时候,用 C++ 写过五子棋、内存监控工具、压缩工具、以及实现一些比较复杂的数据结构,
实现网络编程的并发模型;当你学习 Linux C/C++ 方向到一定程度的时候,你会找到这个方向的乐趣,
跟其他方向完全不一样的乐趣。

不过,前期真的很难,有一段时间极其痛苦,是要经过很长一段时间的学习,才能有一定的效果,如果对
这个方向,真的没有啥兴趣,最好选择走前端、Java、Python 等是最好的选择。但是如果你已经是从业L-
inux c/c++开发几年了,那就继续吧,技术提升没你想的那么难!

Linux C/C++ 方向,入门稍微难一点,一旦选择了要走 C++ 方向的,在心态上面,要做好准备,一定不能
有畏难心里,做好接触底层、复杂逻辑的分析、以及具备面向过程 + 面向对象的思想;就是退一步讲,我
学习了 Linux C/C++ 方向,具备了编程思维和熟悉了 C++ 语言,以后去公司上班了,也能很快的上手 Jav-
a、Python 等方向(我说的上手指的是语言基础很快的学习,要想深入,还得花大把的时间),这也是c/c++
的优势所在。

按照目前身边人找工作的情况,普遍来说,Java、Python、前端、数据分析、测试方向都要比 C++ 好找一些
,更容易找到工作,虽然我是走的 Linux C/C++ 方向,但是对于对底层没有兴趣,对 C 语言没有兴趣的人,
不建议走这个方向。

3、

我一路走过来,真的很痛苦,在校期间都想过放弃这个方向,曾经想学个 Java 可能会好一些(身边学习
 Java 的人还是挺多的),每当快放弃的时候,又想到都学了这么长时间了,再坚持坚持,就这样一路走
 过来了;我是觉得自己真的挺幸运的,有时候,真的不一定非要头铁 C++ 方向,要看整个市场行情,顺
 势而为,选择好方向,在深入!

对于 Java 还是 C++ 方向的选择,没有哪个方向一定好找工作,没有哪个方向一定工资待遇高,互联网这
行,尤其是靠技术说话的,这些都取决于你自身的技术能力。

选择走 C++ 方向的,一定要走 Linux C/C++,面向网络编程,学会 Linux 至关重要!

大厂特别喜欢考察计算机基础知识,对于基础掌握的如何,在很大程度上将决定你是否能进入大厂,一定
要重视基础知识的学习;秋招准备:基础 + 算法 + 项目,加上自己的方向(C++、Java、Python、前端等
),其中每个环节都得准备到位,才能最大程度上拿到大厂 offer,意识很重要,有了意识,再看具体的学
习路线。

三、计算机基础知识的梳理

计算机基础:数据结构 + 算法、操作系统 + 计算机网络、数据库 + Linux、C 语言

工作必备工具:Linux + Git + Sql

不管你是学习什么方向的,Java、Python、前端、测试、运维等等,这些基础都不
能忽视,有时间的话,一定要打扎实了,有了扎实的功底,在这行才能走的更远更快!

1、常用数据结构与算法:

平衡二叉树
红黑树
B-树
KMP算法
栈/队列
布隆过滤器
靠前的数据结构一定要非常的熟练,对于树、图复杂的数据结构,最起码的掌握定义、原理、部分实现,我就记得:
我在面试的时候,手写过红黑树的旋转算法,对于图的一些最短路径算法也是当面手写过,头条的面试基本上就是全
程算法,难度不低。

冒泡
插入
选择
快排
希尔
堆排
归并
桶排
基数
计数
字符串常见算法
数组常见算法
递归算法

一定要保证掌握基础算法 + 常见算法。

在算法方面的要求上,C++ 方向对于算法的要求明显更高,算法功底一定要扎实!

2、操作系统:很常问的一些技术点,堆和栈、内存分区、虚拟内存 + 物理内存、
进程 + 线程 + 协程、死锁、分片机制、五大组件、中断和系统调用 、同步和异步
等等问题。

对于操作系统的理解,对于这些基础的计算机知识的掌握是必须深入学习,要花很
大的功夫去理解清楚这些,工作中,对于真实线上系统的稳定性、对于底层技术的
理解是有帮助的,操作系统是面试中常见问题之一。

3、计算机网络:OSI 七层模型和 TCP/IP 四层体系结构,TCP 三次握手与四次挥手、
常见的网络协议(网桥、ARP、IP、ICMP、TCP、UDP、DNS、DHCP)、TCP 粘包、
流量控制 + 拥塞控制、数字签名原理、http + https,http 的状态码,https 的安全机制,
网络安全、输入 www.baidu.com 背后发生了什么等等问题。

其实工作中,有时就会出现,网络抖动、网络延迟,网络拥塞的情况,此时就需要具备一
定的网络知识,及时的解决问题,计算机网络是面试中常见问题之一。

4、数据库:数据库作为存储数据的地方,其不同的数据结构、与应用的场景不一样,采取
不同的数据库,对于 mysql 基本操作、写 sql 的优化、表的设计、索引优化、如何更快的查
询、底层数据结构的设计原理等等问题。

常见的设计模式、主要是学习设计模式的思想、单例模式是必须写代码实现的,其他设计模
式理解思想,作为了解内容,后台开发工程师与 mysql 打交道挺多的,也是面试常见问题之一。

5、Linux系统

Linux是所有学c/c++同学都绕不开的坎,我整理了Linux方面需要掌握的技术点,不知道怎么学习的同学可以借鉴一下。

系统命令工具

进程间通信设施状态 ipcs
虚拟内存统计工具 vmstat
Linux系统运行时长 uptime
CPU平均负载和磁盘活动 iostat
监控,收集和汇报系统活动 sar
监控多处理器使用情况 mpstat
监控进程的内存使用情况 pmap
进程监控工具 atop
控制台的流量监控工具 vnstat
系统进程状态 ps
详细网络流量分析 tcpdump
内存使用状态 free
系统管理员调优和基准测量工具 nmon
密切关注Linux系统 glances
查看系统调用 strace
网络参数工具

Linux网络统计监控工具 netstat
显示和修改网络接口控制器 ethtool
网络数据包分析利刃 tcpdump
监控并帮助你调试网络 bmon
获取实时网络统计信息 iptraf
显示主机上网络接口带宽使用情况 iftop
网络流量和 ip 流量分布 ntopng

日志监控工具

实时网络日志分析器 GoAccess

多窗口之下日志监控 MultiTail
日志分析系统 LogWatch/Swatch
参数监控工具

监控apache网络服务器整体性能 apachetop
ftp 服务器基本信息 ftptop
IO监控 iotop
电量消耗和电源管理 powertop
监控 mysql 的线程和性能 mytop
系统运行参数分析 htop/top/atop
工作基本上离不开 Linux,也是面试常见问题之一。

6、C 语言

C 语言是我学习编程的第一门语言,是面向过程的语言,对于 C 语言中的数组、函数、指针、
内存对其模式、大小端问题、野指针、内存泄露、static、register、define、typedef、struct、
union 等一些关键字的考察。

我一直把 C 语言当做基础,不是方向,在 C 语言这里学到了很多编程的思想,对于 Linux C/
C++ 方向,C 语言是基本功,也是必定考察的地方,当初我也是因为特别喜欢 C,走上了 C++
 的道路。所以c语言其实对于所有语言的编程者来说都是值得学习和借鉴的。

C 语言可以学,C 语言是基础,不是方向,但是选择走 C++ 就是要选择的方向了,要谨慎选择!

对于上面的每一个模块,其实都能单拿出来,写的更为具体一些,但是个人比较懒,就写出大纲
来给大家借鉴一些吧。

四、C/C++ Linux方向的深入学习路线

1、C++ 基础

C++ 是面向对象的语言,一定要理解清楚面向对象的思想,先把 C++ 的基础知识点打牢,刚从面向过程中转变过来,一定一定要适应面向对象的写法。

在学习面向对象的时候,也要考虑如何用面向过程去实现面向对象(其实也就是结构体中有一个成员是函数指针),对于 C++ 的基础知识,我简单罗列如下:

1、const的用法

2、引用的用法

3、#define用法

4、构造函数

5、析构函数

6、拷贝构造

7、new、delete 和 malloc、free 的区别

8、访问限定符 public、private、protected

9、深拷贝和浅拷贝

10、友元函数

11、static

12、内联函数

13、继承、虚继承

14、钻石继承问题

15、同名覆盖问题

16、虚函数表

17、虚指针

18、虚函数、纯虚函数

19、接口

20、多态

21、重写

22、重载

23、函数重载

24、运算符重载

25、流类库和文件

2、C++ 进阶

函数模板、类模板,C++ 中对于异常的处理,对于继承和多态底层的理解,对于 virtual 底层的理解等。

对于 C++ 中 boost 库八大智能指针的掌握与理解,其核心是理解并且剖析过相应的源码, <scoped_ptr/shared_ptr/weak_ptr>
 这三个是最核心的智能指针,理解清楚智能指针的本质是,内存的申请与释放全部交给了对象管理,以避免人为疏忽,造成内
 存泄露。

何为c/c++Linux方向的深入学习,就是在掌握上述前提技术基础之上的进阶学习。

如果对上述技术觉得自己还有所不足的同学,推荐大家一个免费学习课程

链接:https://ke.qq.com/course/417774?flowToken=1010788

主要讲的就是c/cLinux方向的技术分享

针对上面,从基础到 C++,我列出来的都是非常重要的知识点,当然了,也不可能全部列到,有很多技术问题,很多细节,
我可能没有考虑到,没有写到,这个还需要在学习的时候,认真看看视频、看看书,把相应的知识都学到位,基础打扎实一些。

五、项目 + 亮点 + 面试的一些思考

1、

项目:对于暑期找实习,或者秋招找工作,除了基础跟方向,接下来就是项目的准备了,对于 C++ 方向,很多人不
知道要准备什么项目?其实项目不在于有多大、有多难,在于项目是否是自己真正做的,自己是否完全消化了,项目
中是否有什么亮点?

C++ 方面的实战项目,以数据结构 + 网络编程 + 实用工具为主;数据结构方面:可以实现红黑树、B+ 树,又或者用
图解决什么实际问题,这些复杂的数据结构实现可以作为项目的。

1.对于项目这块,面试的常见问题有:

a、做这个项目的背景是什么?

b、项目中具体有哪些模块,都是怎么实现的?

c、项目中你的技术亮点有哪些?

d、项目中有什么难点,你是怎么解决的?

e、要是重新做这个项目,你这个项目有什么不足,你会进行哪些改进?

2.亮点:找实习或者找工作,必须的有自己的亮点,我觉得在那么多基础知识中,数据结构 + C 语言就是我的亮点之一,
只要问到关于这 2 个方面的问题,尽量回答全面清楚一些,还有就是自己对于 Linux 内核数据结构的剖析也是亮点之一,
总之,一定要找到自己的亮点,与别人不一样的地方,这个就是面试的加分项。

搜索引擎的底层原理、通讯的底层原理,对于这些底层的实现,有兴趣的可以了解看看,其实也没那么难,要是在面试
的时候,能回答出对这些技术的了解,以及自己的一些思考,那就是加分项了。

3、

面试:春招实习、秋招决战,我不知道投了多少家公司,也不知道面试了多少场,基本上都是海投的,有了面试机会,
就要抓住每一次,面试完多做总结、归纳、反思;其实面试很玄学,有自身实力的原因,也有运气的成分,相信自己,
好好表现就好。

对于面试,才开始我也是比较紧张的,但是当你面的多了,慢慢的就会调整过来,就会好很多,我现在把面试当做是
,这是一次近距离和优秀的人交流的机会,是一次学习进步的机会,有了这种心态,其实就好的多了。

对于面试我也自我总结了一些面试题及回答经验,分析出题人出题的思路在哪里,毕竟我们不是要去死记面试题,重要
是面试官考题的技术点在哪里?把技术点吃透,之后再问到类似的问题就不会慌了。

六、总结

推荐一些好的视频网站:b 站、牛客网、极客时间、51cto、腾讯课堂,网易云课程,基本上你所需要的视频资料都可以去找,实在不行上淘宝看看,我在b站也会日常更新,但是目前还不是很多。

https://space.bilibili.com/437693511

有兴趣的朋友可以看看

我走的是 Linux C/C++ 路线,秋招投递这个岗位也很多,对于简历,面试方面觉得不好不足可以联系我,给你一定的指导吧,这个看时间。

对于想走 Linux C/C++ 方向的同学,基本上按照上面的路线走,多实战操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux C/C++ 学习路线 的相关文章

  • px4添加自定义消息进行仿真数据采集

    第一步 xff1a 添加一个新topic 将想要采集模块的数据信息声明成自定义的uORB消息 xff1a 在PX4 msg目录下新建一个格式为 xff1a xxxx msg xff0c 定义消息结构 xff0c 将消息记录到日志当中 简单例
  • 如何将ros下sensor_msgs.msg的Image转换为array

    使用ros numpy package Tools for converting ROS messages to and from numpy arrays Contains two functions arr 61 numpify msg
  • visdom

    跑强化学习代码 xff0c 训练曲线用到visdom Ubuntu下输入指令python m visdom server 一直是Downloading scripts this may take a little while xff0c 无
  • latex表格居中和表格内容居中

    begin table caption Table captions should be placed above the tables label tab1 begin tabular l l l hline Heading level
  • 自动化环境搭建pytest+allure

    pytest安装 安装pytest pip install pytest 61 61 4 0 2 pip install pytest html 生成html测试报告 Allure搭建 1 下载Allure安装包 xff0c 找到对应版本
  • gazebo model的sdf文件中的uri路径

    让我们先看一个gazebo模型的sdf文件iris depth camera down sdf lt sdf version 61 39 1 5 39 gt lt model name 61 39 iris depth camera dow
  • adb连接不上手机测试设备

    问题 xff1a 解决 cannot connect to 5555 由于目标计算机积极拒绝 xff0c 无法连接 10061 解决办法 xff08 Windows 43 R xff1a cmd环境 xff09 1 连接USB数据线 xff
  • navicat连接本地mysql数据库报1251(版本问题)

    本地数据库服务已经启动 xff0c navicat连接本地数据库出现如下错误 xff0c 一般首次使用或下载新版本navicat会出现 xff0c 因为我下载的10 0版本 xff0c 它采用新的保密方式 xff0c 与默认旧版本5 0不同
  • oracle中的违反完整性约束条件问题

    在用sql语句创建表时 xff0c 出现了下列问题 xff1a 在这 xff0c 把这个问题出现的原因总结一下 xff1a 1 数据类型长度不一致 A表中的外键字段和B表中的被外键关联的字段数据类型或长度不一致 由此产生了问题 xff0c
  • python web快速建站基础

    1 Django基础 Django是一个开放源代码的Python Web应用框架 xff0c 由Python写成 xff0c 采用了MVT的框架模式 xff0c 即模型M xff0c 模板T和视图V 1 1 MVT 与MVC模式类似 xff
  • pycharm报找不到模块问题

    在学习python数据可视化时 xff0c 用到库特性时 xff0c 例如csv xff0c 总是提示类似 module csv has no attribute writer 的问题 xff0c 后来发现把这些库的文件夹名字改为 csv1
  • Linux 安装配置Docker 和Docker compose 并在docker中部署mysql和中文版portainer图形化管理界面

    Linux 安装配置Docker 和Docker compose 并在docker中部署mysql和中文版portainer图形化管理界面 首先环境准备 xff1a 下载Ubuntu20 04 4版本并打开vmare16虚拟机 xff08
  • Android设备获取wifi下的ipv6地址

    ipv6技术逐渐普及并得到广泛的应用 xff0c 很多企业也开始部署自己的ipv6网络 xff0c 很多终端也开始支持ipv6技术 遗憾的是 xff0c android虽然得到广泛普及 xff0c 但android并没有原生支持ipv6 可
  • 程序猿的情话

    世界上最遥远的距离 xff0c 是我在if里你在else里 xff0c 似乎一直相伴又永远分离 xff1b 世界上最痴心的等待 xff0c 是我当case你是switch xff0c 或许永远都选不上自己 xff1b 世界上最真情的相依 x
  • Kinect v2相机标定

    Kinect2 相机标定 到手kinect v2相机 xff0c 和已有的ur3双臂组装一体 xff0c 实现物体识别和物体抓取 xff0c 在相机使用之前需先进行相机标定 xff0c 在此记录下相机标定的过程 为什么要进行相机标定 相机作
  • 如何制作开源依赖库上传至GitHub供他人使用

    背景 在项目开发中经常会使用别人的第三方依赖库 xff0c 在之前的Eclipse时代 xff0c 基本都是通过拷贝jar包引入到工程中去使用 现如今大部分 Android开发者都开始使用Android Studio工具进行开发 xff0c
  • roslaunch px4 multi_uav_mavros_sitl_sdf.launch报错

    转载自 xff1a https www cnblogs com pig fly p 13971458 html 在试图运行multi uav mavros sitl sdf launch时报错 xff1a while processing
  • secureCRT串口无法输入

    用串口配置交换机的时候 xff0c 出现的问题 xff1a 用secureCRT建了一个串口COM1后 xff0c 连接上开发板后 xff0c 可以正确接受和显示串口的输出 xff0c 但是按键输入无效 解决方法 xff1a Session
  • 经典编程书籍(C++, 网络, Windows, Linux)【转载】

    书单中列举的都是相关领域的经典书籍 xff0c 必读之作 此书单的编辑参考了很多网站 xff0c 包括一些名家的推荐 xff0c 例如侯捷 xff0c 孟岩 xff0c 荣耀 xff0c 潘爱民等等 xff0c 在此也向这些前辈表示感谢 1
  • Ubuntu 20.04 LTS 发布最终 Beta 版本

    Ubuntu 团队通过邮件列表宣布推出 Ubuntu 20 04 LTS 最终 Beta 版本 xff0c 并预告稳定版将于2020年4月23日发布 虽然是最终的 Beta 版本 xff0c 但毕竟尚处于测试阶段 xff0c 因此不建议在生

随机推荐

  • Git——6个免费的GUI客户端

    目录 1 简介 1 1 测试的工具 1 2 测试方法 2 SourceTree 2 1 详情 2 2 概述 2 3 印象 3 GitHub Desktop 3 1 详情 3 2 概述 3 3 印象 4 Git Extensions 4 1
  • SourceTree Git管理神器使用教程详解

    目录 前言 xff1a SourceTree Github Desktop TortoiseGit 可视化管理工具对比 xff1a SourceTree介绍和Atlassian账号注册和登录教程 xff1a 连接Gitee or GitHu
  • 软件测试项目篇

    目录 1 项目启动2 需求分析3 制定测试方案 xff08 计划 43 策略 xff09 4 测试执行流程 1 项目启动 了解项目背景 2 需求分析 功能需求 xff1a 文件类型 xff1a 支持所有的文件压缩文件个数 xff1a 最多压
  • LTE系统信息(1)-MIB

    1 什么是MIB 为了能正常接入小区 xff0c UE在完成扫频 xff08 无论是指定频点扫频还是全频段扫频 xff0c 目的都是为了找到合适的中心载波频点 xff0c 参考 LTE物理传输资源 xff08 3 xff09 时频资源 xf
  • vi编辑器

    目录 简介 基本操作 1 移动光标 2 定位 3 删除 4 复制 5 查找
  • ubuntu下进行串口通信

    1 首先下载串口通信需要的uart文件 xff0c 用于数据封装json文件 下载地址 xff1a http download csdn net download m zhangjingdong 10164628 http download
  • GPS轨迹飘点处理(原创)

    当我们处理gps设备传过来的数据时 xff0c 最让人头疼的事情莫过于设备定位异常所传输的异常点了 xff0c 我们习惯的叫它为飘点 这些数据是设备层面的异常 xff0c 目前没有什么有效的方法来减少设备发送的飘点 但是我们可以通过程序来过
  • 创建多个带有摄像头的四旋翼gazebo模型

    完整的model文件和launch文件我上传在资源里 xff1a 多个带有摄像头的四旋翼gazebo模型 zip 1 启动多个iris四旋翼模型 PX4源码里有iris sdf等四旋翼模型文件 xff0c 但是如果要启动多个iris模型和m
  • 最全面的PLC学习网站

    http www gkwo net wenku list 13 htm PLC工控资料学习网
  • ImportError: Failed to import test module: 2

    1 在进行unittest测试时 xff0c 运行报错如下 导入import unittest 包 xff0c 创建的文件名字得是 Test 开头的 xff0c 不然报如下的错误 我的文件名字是 2 unittest简单实用 first t
  • 面试:微信朋友圈测试流程(功能测试,性能测试,界面测试,易用性测试,网络测试,兼容性测试,安全性测试)

  • HTTP请求/响应报文结构

    HTTP请求 响应报文结构 HTTP请求报文 一个HTTP请求报文由四个部分组成 xff1a 请求行 请求头部 空行 请求数据 1 请求行 请求行由请求方法字段 URL字段和HTTP协议版本字段3个字段组成 xff0c 它们用空格分隔 比如
  • MySQL数据库面试知识点

    MySQL数据库面试知识点 转自 xff1a https blog csdn net ThinkWon article details 104778621
  • 牛客网试题+答案分析+大牛面试经验(1)

    一 选择题 xff08 1 xff09 有以下程序 xff1a include lt stdio h gt char fun char c if c lt 61 39 Z 39 amp amp c gt 61 39 A 39 c 61 39
  • C++动态链接库中的全局变量面试题

    其实主要问题是三个模块 xff1a 模块 a 静态库 a 模块 b 二进制 b 静态引用a 动态加载c 模块 c 动态链接库c 静态引用a 关键在于静态库a里有一个静态全局变量 xff0c 没错就是我们的日志模块 原先的这个静态的模块中的静
  • 长连接与短连接的区别以及使用场景

    首先介绍下短链接和长连接的区别 xff1a 短连接 连接 gt 传输数据 gt 关闭连接 比如HTTP是无状态的的短链接 xff0c 浏览器和服务器每进行一次HTTP操作 xff0c 就建立一次连接 xff0c 但任务结束就中断连接 因为连
  • 进程的有哪几种状态,状态转换图,及导致转换的事件

    进程的特征与三种基本状态 1 特征 xff1a 1 xff1a 动态性 xff0c 2 xff1a 并发性 xff0c 3 xff1a 独立性 xff0c 4 xff1a 异步性 2 状态 xff1a 1 xff1a 就绪状态 当进程已分配
  • 请问单核机器上写多线程程序,是否需要考虑加锁,为什么?

    参考回答 xff1a 在单核机器上写多线程程序 xff0c 仍然需要线程锁 因为线程锁通常用来实现线程的同步和通信 在单核机器上的多线程程序 xff0c 仍然存在线程同步的问题 因为在抢占式操作系统中 xff0c 通常为 每个线程分配一个时
  • 阿木p200四旋翼配置经验笔记

    本文初次写于2021 06 09 我做编队试验用的阿木P200四旋翼 xff0c 空循环uwb定位下完成了机载计算机控制的编队飞行以及二维码引导降落 记录一下对到手的P200飞机仍需要更改调试的配置 xff1a 硬件加装 加装uwb标签用于
  • Linux C/C++ 学习路线

    一 秋招 Linux C C 43 43 offer 情况 二 Linux C C 43 43 方向的一些思考 三 计算机基础知识的梳理 四 C 43 43 方向的深入学习路线 五 项目 43 亮点 43 面试的一些思考 六 总结 前言 L