
笔记
文章平均质量分 63
A_tofu
每一行代码都是你用有限时间创造出来的无限宝藏!
展开
-
Effective C++ 笔记(1)
Effective C++ 笔记#define ASPECT_RATIO 1.653ASPECT_RATIO 未进入记号表,因此调试时,错误信息只会提到 1.653 而不是 ASPECT_RATIO。因此,替换为:const double AspectRatio = 1.653;改用常量 AspectRatio 还可能比宏 ASPECT_RATIO 用较小的码,预处理器盲目将宏替换成值,常量则只会有一份值存在。const char* const authorName = "tofu"原创 2022-01-25 11:04:54 · 647 阅读 · 0 评论 -
Linux - HTTP高并发服务器开发
文章目录Linux - HTTP高并发服务器开发简述HTTP协议请求格式1. 客户端请求2. 服务端响应服务器开发1. 需求分析2. 开发实现2.1. 接收 http 请求2.2. 解析 http 请求2.3. 响应 http 请求2.4. 完整代码(未实现多线程)2.5. 使用方式高并发(多线程实现)1. 简述高并发2. 线程函数高并发服务器开发1. 完整代码(实现多线程)2. 使用方式Linux - HTTP高并发服务器开发简述HTTP协议HTTP协议是Hyper Text Transfer P原创 2021-07-01 22:36:53 · 1259 阅读 · 4 评论 -
Linux - 网络服务器开发(全)
Linux - Ubuntu网络服务器开发Linux - Ubuntu服务端开发我们服务端与客户端进行交接,是通过Socket通信Socket通信三要素:通信的目标地址(服务端的ip地址)使用的端口号(不同协议规定不同端口,例如:25端口对应stmp协议,80端口对应http协议)使用的传输层协议(TCP,UDP,这两个是在QT写的,但可以参考通信逻辑)服务端开发#include <stdio.h>#include <unistd.h>#include <原创 2021-06-27 16:35:06 · 2544 阅读 · 0 评论 -
Linux - 网络服务器开发②
Linux - Ubuntu客户端端开发客户端开发#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#define SERVER_PORT 666#define SERV原创 2021-06-26 21:04:07 · 118 阅读 · 0 评论 -
Linux - 网络服务器开发①
Linux - Ubuntu服务端开发我们服务端与客户端进行交接,是通过Socket通信Socket通信三要素:通信的目标地址(服务端的ip地址)使用的端口号(不同协议规定不同端口,例如:25端口对应stmp协议,80端口对应http协议)使用的传输层协议(TCP,UDP,这两个是在QT写的,但可以参考通信逻辑)服务端开发#include <stdio.h>#include <unistd.h>#include <sys/types.h>#incl原创 2021-06-24 22:30:15 · 165 阅读 · 0 评论 -
Linux - Ubuntu下的第一个c程序
创建打开一个.c文件vim hello.c写入HellowWorld#include <stdio.h>int main(void){ printf("Hello, world!\n"); return 0;}然后进入命令模式(esc)输入:wq保存并退出开始编译gcc hello.c如果提示gcc未安装,可以用apt-get install gcc进行安装编译成功后会生成一个a.out的文件(window系统是 .exe,Linux是 .out)..原创 2021-06-22 20:51:28 · 159 阅读 · 0 评论 -
Linux - Ubuntu入门命令②
使用vimvim text.txt若无法打开,显示:The program 'vim' can be found in the following packages: * vim * vim-gnome * vim-tiny * vim-athena * vim-athena-py2 * vim-gnome-py2 * vim-gtk * vim-gtk-py2 * vim-gtk3 * vim-gtk3-py2 * vim-nox * vim-nox-py2Try: a原创 2021-06-21 21:52:06 · 478 阅读 · 0 评论 -
Linux - Ubuntu入门命令①
行首出现 “$” 或 “#” 为命令提示符通配符 “*” “?” “[]”*:用于匹配任意长度的字符串?:匹配一个字符串[]:匹配方括号内字符集 例如: ls 字符串[1-3]注释符 “##”帮助命令 man用户切换 su特权命令 sudo1随笔在系统上安装支持ssh连接的服务sudo apt-get install openssh-server查看ip状态ip addr查看所处目录pwd切换目录cdcd / ## 返回根目录cd .. ## 返回父目录原创 2021-06-21 00:31:42 · 207 阅读 · 0 评论 -
关于链表插入数据的简单理解
关于链表的简单理解单链表// 单链表typedef struct NODE{ struct NODE *link; int value;}Node;// 从单链表插入数据void insert(register Node **linkp, int value){ register Node *newnode; register Node *cur; // 找到插入位置, 判断大小排序 while( (cur = *linkp) != NULL && cur->原创 2020-05-15 23:29:31 · 989 阅读 · 0 评论 -
QT线程: qt4和qt5使用示例
QT线程: qt4和qt5使用示例简单介绍代码分析QT4:// 首先我们需要自定义一个线程类 MyThreadclass MyThread : public QThread {public: void run(); //处理数据函数 //必须是重载run, 我们看基类里面可以发现run是个虚函数//添加信号signals: void isDone; //...原创 2020-05-05 19:31:47 · 2894 阅读 · 3 评论 -
关于QT中UDP套接字和组播简单说明
关于QT中UDP套接字和组播简单说明关于linux的UDP传输:关于QT的UDP传输:与TCP不同的是, TCP的服务端套接字需要通信套接字和监听套接字, 客户端需要通信套接字, 而在UDP中, 双方只需要UDP套接字, 也就是一个通信套接字即可.UDP服务端的QUdpSocket对象只需用**.bind()绑定端口, 然后客户端就可以用writeDatagram(str, ip, p...原创 2020-05-04 17:47:19 · 1996 阅读 · 0 评论 -
关于QT中, TCP套接字的简单说明
谢谢阅读, 希望我的文章对您有帮助!原创 2020-05-03 23:06:16 · 968 阅读 · 1 评论 -
关于整形提升
#include <stdio.h>int main() { char a = 0xb6; //182 short b = 0xb600; int c = 0xb6000000; char* pa = &a; short* pb = &b; int* pc = &c; // 在比较时,因为a是char...原创 2020-04-21 21:58:50 · 275 阅读 · 0 评论