C/C++/Linux「学习必备」珍藏多年的学习网站分享 | 工欲善其事必先利其器
这里分享的是C/C++学习阶段所需网站,经博主自用使用频率较高的几个网站。废话不多说,直接看正文。
ps:初学者可以从菜鸟教程、w3school 在线教程等网站学习一遍基础知识,再结合本篇文章提供的网站食用更佳。
文章目录
- 一、参考手册
- C 参考手册
- C++参考手册
- C++中文参考文档
- C++ 语言文档
- cplusplus.com
- Stack Overflow
- gcc.gnu
- 二、API 文档
- linux手册页(man帮助手册)
- Windows API 参考手册
- libevent网络库
- Boost Library Documentation
- 三、阅读源码
- 在线的C和C++代码浏览器
- 在线Linux源码阅读(2个)
- 四、面试宝典
- 理论知识
- 牛客-C++工程师面试宝典(系统知识梳理)
- 牛客-专项练习(选择题-查漏补缺巩固知识)
- 思科-路由和交换基础(路由网络方面系统学习)
- git基础(git操作学习)
- 编程练习
- 牛客-公司真题(各大公司常用招聘/面试平台)
- LeetCode-刷题(学习算法练习编程较好网站)
- 赛马-名企真题(刷题、面试平台)
- 洛谷(刷题、比赛、讨论平台)
- 项目实战
- GitHub(世界上最大的同性交友平台)
- GitHub上优秀项目分享(2个)
- 五、其他(补充一些其他优秀网站)
- 算法 Alchemist
- 数据结构可视化(2个)
- 正则表达式(3个)
- Linux shell(多个)
- Linux/Unix门户网站:
- shell命令速查:
- 在线执行shell脚本:
- 脚本语法检查
- shell解释器:
一、参考手册
参考手册:顾名思义,关于某个标准库的定义、用法等,内部成员、特性等方面,需要查找的时候直接上手。
总结:非常全面,使用简单,可以让我们像查字典一样查语法。
C 参考手册
C 参考手册 - cppreference.com
点评:非常好用,C的语法规则,标准库函数完备。
C++参考手册
C++ 参考手册 - cppreference.com
点评:同上,强烈推荐。建议配合插件C/C++ Search Extension使用。
C++中文参考文档
C++ 参考手册 - C++中文 - API参考文档
点评:此网站应该是Cppreference的国内镜像站点。访问速度优于Cppreference。
C++ 语言文档
C++ 语言文档 - 入门、教程、参考。 | Microsoft Docs
点评:微软Visual Studio编译器官方文档,配合编译器F1键可以直接跳转到对应函数说明。对于使用VS编译器的人来说,不可或缺。
cplusplus.com
cplusplus.com - The C++ Resources Network
点评:同样是一个比较知名的工具网站。(推荐)
Stack Overflow
Stack Overflow - Where Developers Learn, Share, & Build Careers
点评:一个专注于提问的网站,可以说我们平时遇到的编程问题百分之90以上都可以在这里找到答案。(也适用于其他语言)
gcc.gnu
- GCC, the GNU Compiler Collection - GNU Project
- Top (Using the GNU Compiler Collection (GCC))
说明:C和C ++具有未定义的行为,因为它允许编译器避免大量检查。假设一组具有更大执行阵列的代码无需保留界限,这避免了复杂优化通过的需求来检查外部环路的此类条件。当它获得符号溢出的未定义性质的优势时,紧密绑定的循环从35%的速度加快到50%,这通常由C编译器提供。
.
我们还具有另一个优势,因为它允许我们将变量的值存储在处理器寄存器中并在源代码中的变量大于变量的时间内操作。它还有助于包裹围绕然后编译时间检查,而不会更大的C / C ++编译器中的未定义行为的知识。
点评:因为C/C++具有UB的特点,不同编译器对一些未定义的行为拥有解释权,也就造成了不同编译器编译同一源码造成的结果不同的现象。
二、API 文档
api文档其实和参考手册概念差不多,此标题用于C/C++语法之外的扩展选项。
这里汇总一些可能会用到的第三方的非标转库的api。例如man手册页、windows api, boost库api等。
linux手册页(man帮助手册)
在LinuxC/C++编程中,会用到Linux的一些系统调用,或者C库函数,以往我们在终端中输入man命令调取手册页信息阅读。现在可以通过以下在线man手册线上检索各命令的手册了。
- Linux Man Pages Online
- Man Pages Archive - manned.org
- index — Debian Manpages
- Ubuntu Manpage: Welcome
- Ubuntu Manpage: man - [中文]在线参考手册的接口
Windows API 参考手册
Windows API 就是 windows应用程序接口,是针对microsoft windows操作系统家族的系统编程接口。
Windows API包括几千个可调用的函数,它们大致可以分为以下几个大类:基本服务、 组件服务、 用户界面服务、 图形多媒体服务、 消息和协作、 网络、 Web服务。
Windows API 参考手册
libevent网络库
对于Linux C网络编程而言,一个比较好用的事件通知库——libevent。
- libevent官网
- libevent参考文档
- gitbook · [中文]libevent深入浅出
Boost Library Documentation
Boost Library Documentation
点评:C++标准库许多函数都是由Boost库发展而来,这个参考页提供了boost库函数的文档,值得收藏,以备不时之需。
三、阅读源码
学习一门语言阅读源码必不可少。C/C++源码很庞大,仅凭个人之力很难吃透,但对于其中一些设计思想,以及一些巧妙的编程技巧我们是可以借鉴学习的。
比如,C库函数中strcpy是怎样实现的,相信你阅读看原码后感叹,原来还有这么精简的写法。同理,C语言初学者接触最多的 printf 函数是怎样实现的,你就不感兴趣吗?这一切都在源码中等着你去寻找。
在线的C和C++代码浏览器
Woboq Code Browser - Explore C++ code on the web
点评:该网站支持 Qt | GLibc | LLVM | Boost | GCC | Linux 等源码在线阅读,同时支持代码跳转,引用展开等功能,非常好用。(强烈推荐)
在线Linux源码阅读(2个)
- Missing Link Electronics’ LXR for Linux, QEMU, U-Boot, and Busybox
- Linux source code (v5.17.3) - Bootlin
四、面试宝典
面试可以分为理论知识和代码能力,除此之外就是项目实践了。
理论知识
牛客-C++工程师面试宝典(系统知识梳理)
牛客网是在招聘求职方面的老牌网站了。例如这个C++工程师面试宝典:
【C++工程师面试宝典】学习说明_互联网校招面试真题面经汇总_牛客网 让我们可以系统的回顾和整了C/C++知识。
牛客-专项练习(选择题-查漏补缺巩固知识)
牛客网的这个专项练习,以选择题的方式对编程、数据库、算法等等技术进行刷题式学习,有助于查漏补缺,学习效率显著提升。
牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网
思科-路由和交换基础(路由网络方面系统学习)
思科官方提供的路由网络方面的基础知识,当然对于非网络专业的可以选看部分网络知识,内有动态图和测评有助于我们学习网络。
对于网路专业的学生可以细品,有必要时可以结合packer trace模拟器详细理解数据包发送,个阶段拆包解包过程,用心学习受益良多。
路由和交换基础
git基础(git操作学习)
一个学习git的网站,通过小游戏闯关的形式,图文并茂,让我们了解git的每一个命令具体进行那些动作。
Learn Git Branching
编程练习
除了有丰富的理论知识外,我们也需要具备一定的编程能力,只会“纸上谈兵”可不行啊。
牛客-公司真题(各大公司常用招聘/面试平台)
牛客网提供历年各公司真题,支持在线编程。同时内部论坛常年分享面试经验,内推等机会。(强烈推荐)
牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网
LeetCode-刷题(学习算法练习编程较好网站)
LeetCode (力扣)提供在线刷题,并且有着完善的用例测试机制和完备的题解机制。只需要跟着[每日一题]持续签到打卡,哪怕你是编程小白也可以轻松应付各种问题。如果有能力也可打竞赛。
题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台
赛马-名企真题(刷题、面试平台)
不多解释,看首页就知道,也有许多知名公司选择在此平台进行面试。
真题练习 - 【赛码网】免费在线考试系统、在线面试系统-易用稳定专业
洛谷(刷题、比赛、讨论平台)
洛谷也算比较有名的一个编程网站了。有兴趣的话可以打打比赛。
项目实战
GitHub(世界上最大的同性交友平台)
不用多解释,大家都知道。
GitHub
另外,诸如gitLab、gitee、gods等平台也不错。
GitHub上优秀项目分享(2个)
- HelloGitHub 分享 GitHub 上入门级、有趣的开源项目
- GitHub中文社区
五、其他(补充一些其他优秀网站)
算法 Alchemist
该网站提供一些比较经典的算法问题,喜欢的可以体验一下。
Alchemist
数据结构可视化(2个)
分享两个关于数据结构可视化的网站,一些常见的算法和数据结构,通过网站的动态模拟可以让我更容易理解。
Data Structure Visualization
数据结构和算法动态可视化 (Chinese) - VisuAlgo
正则表达式(3个)
常用的正则表达式大全
Regulex:JavaScript Regular Expression Visualizer(以图片方式解析正则表达式)
regex101: build, test, and debug regex(正则在线生成和测试)
Linux shell(多个)
Linux/Unix门户网站:
Linux公社 - Linux系统门户网站
Unix技术网 = 专业的Linux/Unix应用与开发者社区 = IT人的网上家园
shell命令速查:
- Linux 命令搜索引擎
- Linux命令手册-中文命令详解
在线执行shell脚本:
Test Bash Script Online - Online Bash Script Tester - Shell Scripting online
脚本语法检查
ShellCheck – shell script analysis tool
shell解释器:
explainshell.com - match command-line arguments to their help text
写在最后。
上述网站都是在我学习和工作中积累而来,不论是学习还是工作,找到一个趁手的网站真的能事半功倍。当然以上分享的内容大都围绕我们学习而言,可以让我们少走很多弯路。
当然优秀的网站还有很多,这里我只分享了一些可能对大家有帮助的,并且是平时比较常用的一些网站。
如果大家也有其他优秀的网站。欢迎在评论区补充分享。
C/C++/Linux「学习必备」珍藏多年的学习网站分享 | 工欲善其事必先利其器相关推荐
- 「代码家」的学习过程和学习经验分享【转】
图灵丛书的一句话说的很好,Standing on the shoulders of giants,是的,我们一直站在巨人的肩上,我们起步都在沿着他们的轨迹前行,之后慢慢的在前人的开发基础或者规范上写出 ...
- 「网络创业家」变「网络发明家」的3个新网站实例
「发明家」是那位名垂千古的伟大爱迪生,而「创业家」只是隔壁那个中辍找不到工作只好开点的阿狗,我们只敢认自己为「创业家」,不敢「升级」为「发明家」 .但,网络其实还蛮适合「发明」的. 周末看到一个我认为 ...
- 珍藏多年的神网站都捐了,你需要的我都有,有了这些网站工作生活不用愁(二)
注重版权,转载请注明原作者和原文链接 作者:码农BookSea 原文链接:https://editor.csdn.net/md?articleId=106149876 之前我写过一期博客: 珍藏多年的 ...
- 毫无保留!珍藏多年的“学习”网站...
来源:cnblogs.com/three-fighter/p/13641835.html 众所周知,程序员是一个需要不断学习的职业,而幸运的是,在这个互联网时代,知识就在那里,等着我们去获取. 秉承着 ...
- 深度学习必备书籍——《Python深度学习 基于Pytorch》
作为一名机器学习|深度学习的博主,想和大家分享几本深度学习的书籍,让大家更快的入手深度学习,成为AI达人!今天给大家介绍的是:<Python深度学习 基于Pytorch> 文章目录 一.背 ...
- 「网工必备」五款工作学习必备软件免费下载
很多人都在问,学习网络工程师需要什么软件?其实网工业有很多软件,比如 Cad,比如广联达,比如钉钉,比如一些数据,比如一些辅助软件,这些都是为了提高项目的效率,让他们更好的理解项目的思路,而今天,我们 ...
- 「面试必备」常见Java面试题大综合 马云见了都点赞
一.Java基础 1.Arrays.sort实现原理和Collections.sort实现原理 答:Collections.sort方法底层会调用Arrays.sort方法,底层实现都是TimeSor ...
- 后台接收数组_「面试必备」最新整理出的腾讯C++后台开发面试笔记
文章是由笔试面试腾讯笔记整理而来,主要是针对面试的C++后台开发岗位,涵盖了大部分C++后台开发相关可能会考察和被问到的技术点. 自认为这篇笔记是比较全面的总结,不管你是已经工作准备参加社招,还是在校 ...
- 「前端架构」Grab的前端学习指南
原帖可以在Github上找到.未来的学习指南将在那里更新.如果你喜欢你正在阅读的东西,给它打一颗星吧! 公司是东南亚(SEA)领先的运输平台,我们的使命是利用公司最新的技术和人才,推动SEA前进.截至 ...
最新文章
- window.open(url?param=+paramvalue) 服务端 乱码问题解决
- 设计模式 — 结构型模式 — 组合模式
- 配置访问oracle_SpringBoot中application.properties的常用配置
- 第三次学JAVA再学不好就吃翔(part61)--基本数据类型包装类
- mysql脚本的制作_制作脚本实现mysql自动备份
- Python笔记-函数装饰器的缺点
- ListView练习_购物商城
- chiinv函数java_Excel统计函数:CHIINV函数实例-excel技巧-电脑技巧收藏家
- [Android系列—] 2. Android 项目目录结构与用户界面的创建
- App Store中国区下架近5万款未提供版号的游戏;微软源代码遭黑客访问;Rust 1.49.0发布
- Android proguard-rules.pro 混淆模板
- Flask 下载中文名文件
- OpenCore启动项中无Install macOS Big Sur 的解决办法
- 反洗钱不力,银行遭遇央行15亿天价罚单
- c#与mysql教程_C#连接MySQL操作详细教程
- [文档和源码分享]C++实现的基于α-β剪枝算法的井字棋游戏
- SpringBoot 优雅地对接口进行数据加解密
- [原题复现]HCTF 2018 Warmup
- LaTeX的一般图文混排介绍
- Hollo world