# linux-c-cpp **Repository Path**: yang_ming_1/linux-c-cpp ## Basic Information - **Project Name**: linux-c-cpp - **Description**: C、C++和其在Linux下的编程学习,主要是51CTO、传智播客、一些经典书籍的学习等 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2019-11-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # linux-c-cpp > C、C++和其在Linux下的编程学习,主要是51CTO、传智播客、一些经典书籍的学习等 ## [C语言深度解析](https://edu.51cto.com/topic/1756.html) + [第01章_编译-链接](https://edu.51cto.com/course/10874.html):编译链接详细过程、编译器组成结构、目标文件格式、c程序的内存结构等 + [第02章_预编译](https://edu.51cto.com/course/14241.html):宏定义、条件编译、代码跨平台、特殊预编译关键字、预定义宏、头文件包含等。 + [第03章_存储类-生命周期-作用域-链接域](https://edu.51cto.com/course/14264.html):回顾c内存映像,存储类与auto/static/register关键字,指令/常量/变量的生命周期,变量与函数的作用域,链接域与extern/static等。 + [第04章_指针与函数](https://edu.51cto.com/course/14967.html):指针类型、一级与多级、野指针与段错误、`void *`、const与指针、函数调用、回调函数与函数指针数组、指针与传参、递归函数、内联函数等。 + [第05章_制作C库与C标准库](https://edu.51cto.com/course/15685.html):库的工作原理,静态库与动态库的基本介绍,制作linux下静态库和动态库,制作windows下静态库和动态库,c标准库的组成结构等。 + [第06章_数组和字符串](https://edu.51cto.com/course/15123.html):数组概述,一位数组,二维数组,多维数组,使用malloc开辟多位数数组,字符串,指着变量/字符串/数组与sizeof,main函数的形参等。 + [第07章_结构体-联合体-枚举](https://edu.51cto.com/course/15522.html):结构体初始化/赋值/传参,结构体对齐,结构体封装函数指针与代码分层,共用体、枚举等。 + [第08章_杂项—c语言中无法独立成章的知识](https://edu.51cto.com/course/15550.html):自动类型转换,大小端序,逗号表达式,typedef,字节/字/半字/位宽,编译器优化,extern "C",程序调试,可变参函数/可变参宏,do{}while(0)的妙用,c内嵌汇编,断言等。 + [第09章_位操作和标准IO函数](https://edu.51cto.com/course/15577.html):微操作:&,|,~ ,^,<<,>>标准IO函数:fopen、fclose、fscanf、scanf、fgetc、getc、getcha、fgets、gets、freadr等标准IO的缓存问题。 + [第10章_多线程和网络编程](https://edu.51cto.com/course/15643.html):多线程,网络编程,数据库,数据结构,顺序表,链表概述,单链表,双链表,队列 和 栈,Linux内核链表等。 ## [Linux系统及网络编程视频](https://edu.51cto.com/topic/1527.html) + [第01章_Linux的文件IO](https://edu.51cto.com/course/13082.html):学习使用Linux直接提供的系统文件IO来操作文件,通过文件IO的学习,从本质上理解文件读写的过程,为理解标准Io打基础。 + [第02章_Linux文件属性](https://edu.51cto.com/course/13121.html):学习如何通过Linux文件IO操作文件的属性,比如获取文件名称、权限、所属用户、大小等等属性,本章的学习重点是理解什么是文件属性,以及深入理解有关Linunx文件权限。 + [第03章_系统信息](https://edu.51cto.com/course/13140.html):Linux包含了很多的系统信息,这些系统信息是给Linux系统使用的,本章学习如何获取Linux的系统信息,本章的重点是了解Linux的系统信息有哪些。 + [第04章_进程环境](https://edu.51cto.com/course/13214.html):了解一个程序如果要运行起来,必须要有哪些运行环境的支持。 + [第05章_进程控制](https://edu.51cto.com/course/13344.html):通过本章的学习,理解一个应用程序是如何基于OS运行起来,然后演变为一个进程的,基于OS运行与裸机运行有什么区别。 + [第06章_信号机制](https://edu.51cto.com/course/13387.html):了解什么是信号,信号有什么用,通过信号的学习,可以帮助我们理解其他与信号类似的一些机制 + [第07章_本机进程间通信IPC](https://edu.51cto.com/course/13462.html):知道什么事IPC,什么情况下使用IPC,IPC有哪些 + [第08章_C线程](https://edu.51cto.com/course/13512.html):C线程会被经常使用,因此本章很重要,本章重点是学会如何实现C线程,以及掌握C线程常用的资源保护机制 + [第09章_高级IO](https://edu.51cto.com/course/13558.html):有关文件IO操作的一些高级用法,本章在后续Linux的学习中会经常使用到,因此本章很重要 + [第10章_TCP-IP网络编程](https://edu.51cto.com/course/13655.html):理解什么是网络编程,加深对网络通信、以及TCP/IP协议族的理解,掌握Linux系统的常用的网络API,为学习C++/JAVA库所提供的网络API打基础 ## [从零开始开发服务器框架](https://www.bilibili.com/video/av53602631) > 本人从事互联网linux c++服务器开发10年,精通高性能,高并发,分布式系统的开发。有5年的时间,从事游戏后台服务器开发,5年电商服务器后台开发经验(推荐系统,abtest,搜索系统,监控,效果分析等)本系列视频教程是本人,总结从业以来10年的经验。从零开始开源出一套C++高性能服务器框架联系方式:QQ 564628276,微信:sylar-yin + [个人主页](http://www.sylar.top) + [项目github](https://github.com/sylar-yin/sylar)