C/C++
文章平均质量分 89
以实战为例,原创/转载有关C/C++的要点
青玉白露
字节跳动工程师|AI 让我成为全栈工程师~
公众号,【二进制的耳语】,欢迎关注~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++面试宝典
青玉白露编译过程编译链接1.预处理器C/C++的预处理器其实就是一个词法(而不是语法)预处理器,其主要完成文本替换、宏展开以及删除注释等,完成这些操作之后,将会获得真正地**“源代码”**。常见的include语句即是一个预处理器命名,在预处理器中它将所有的头文件包含进来。(该步骤的文件扩展名为****.i)2.编译器在这一步骤,将.i文件翻译为.s**,得到**汇编程序语言,值得注意的是所有的编译器输出的汇编语言都是同一种语法。注:内联函数就是在这一环节“膨胀”进源码的,它的作用即在于:不原创 2021-05-22 10:53:58 · 2351 阅读 · 0 评论 -
C++多线程编程
多线程学习笔记前言:这周学习学习了多线程并发的相关知识,写一个读书笔记以作记录。学习的教程是网易云课堂的:https://study.163.com/course/courseMain.htm?courseId=1006067356&_trace_c_p_k2_=217aa888da5741698cfb97e1e70009cd更新:在最近的项目中使用到了多线程技术,发现有些知识遗漏或是不准确,已对下文进行更正和重新排版。2020/11/3一、进程、线程、并发进程:简而言之就是一个运行的程序原创 2021-04-16 11:13:55 · 2743 阅读 · 0 评论 -
C/C++杂谈——指针常量、常量指针
C/C++杂谈指针常量、常量指针有的时候稍不注意就会将两者混淆,即便再去看一下资料,过一段时间又会忘掉,于是今天就用实际代码来看看两者到底有什么区别。首先,在C/C++中,常量是什么意思?常量的关键词是const,即,无法被改变。在编译阶段,编译器若发现对常量进行了修改,就会出现提示。基于此,常量在声明时就必须初始化,而且之后都不能改变,见下:若不初始化: 若尝试改变: ok,现在我们明白了常量是什么意思:初始化之后无法被改变的值。再解决一个小问题:指针是什原创 2021-04-16 10:31:43 · 314 阅读 · 0 评论 -
从0到服务器开发——TinyWebServer
从0到服务器开发——TinyWebServer文章目录**从0到服务器开发——TinyWebServer****前言:****基础知识****什么是web sever?****什么是socket?****IO复用是什么?****什么是多线程?****二、项目学习****代码架构****编译运行****功能细究****三、拔萝带泥****HTTP****HTTP介绍****HTTP处理流程****连接处理****请求报文处理****返回响应报文****Epoll****常用函数****例子****参考资料*原创 2021-04-13 21:30:09 · 2422 阅读 · 4 评论 -
C语言可变参va_start/va_arg/va_end使用说明
在C语言编程中,相信大家经常使用printf/sprintf/vsprintf这些功能函数。在使用中,也没太在意,后面的“…”可变参数,现在和大家一起分享分享可变参数的使用说明,一点意见,仅供参考。int printf(const char *format,...);int sprintf( char *string, const char *format, …);int vsprintf(char *string, const char *format, ...);vsprintf与spri.转载 2021-04-08 10:32:49 · 367 阅读 · 0 评论 -
【后台开发】TinyWebser学习笔记(4)定时器、日志系统(单例模式)、封装互斥锁信号量
下面这个部分来介绍一下定时器及封装互斥锁信号量的相关知识。一、定时器相关关于定时器部分,核心就在于信号处理机制(信号处理函数、信号响应函数等)。(关于信号处理这个部分的流程我还有些不明白,还需要再看一次)本项目中,服务器主循环为每一个连接创建一个定时器,并对每个连接进行定时。另外,利用升序时间链表容器将所有定时器串联起来,若主循环接收到定时通知,则在链表中依次执行定时任务。Linux下提供了三种定时的方法:·socket选项SO_RECVTIMEO和SO_SNDTIMEO·SIGALRM信号.原创 2021-03-17 09:02:07 · 430 阅读 · 0 评论 -
【环境配置】tensorflow11.1.0编译
一、配置opencv1、安装依赖sudo apt-get install cmakesudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev libavresample-dev libgphoto2-devsudo apt-get install libgtk2.0-devsudo apt-get install原创 2020-09-24 15:48:07 · 559 阅读 · 0 评论 -
【C++】STL之迭代器介绍、原理、失效
今天抽空来看看C++标准库中迭代器的相关知识。一、迭代器有什么用?我们知道,STL标准库一共有六大部件:分配器、容器、迭代器、算法、仿函数、适配器。其中,迭代器就是用来“联结”算法、仿函数与容器的纽带。除此之外,在设计模式中有一种模式叫迭代器模式,简单来说就是提供一种方法,在不需要暴露某个容器的内部表现形式情况下,使之能依次访问该容器中的各个元素,这种设计思维在STL中得到了广泛的应用,是STL的关键所在,通过迭代器,容器和算法可以有机的粘合在一起,只要对算法给予不同的迭代器,就可以对不同容器进行.原创 2021-03-15 19:38:54 · 855 阅读 · 0 评论 -
【后台开发】TinyWebser学习笔记(3)HTTP连接与解析
之前学习了有关线程池、数据库连接池的相关知识,接下来进行重头戏——HTTP连接的相关知识。这段时间在准备暑期实习的面试,参加了腾讯、阿里、CVTE、深信服等公司的面试发现自己对之前的这个开源项目还有很多细节不够了解,特此回来学习一波,如果有什么纰漏还请大家谅解、指正。一、http的详细连接过程http需要结合epoll/select/poll来理解,所以可以点此跳转回学习笔记2,复习相关知识。1.1 Http报文有关HTTP报文格式,HTTP报文分为请求报文和响应报文两种,每种报文必须按照.原创 2021-03-15 17:15:16 · 500 阅读 · 0 评论
分享