随笔分类 - C
摘要:https://blog.csdn.net/dsanmux/article/details/52083403 https://blog.csdn.net/u011425939/article/details/81835968 send(sockfd, buff, sizeof(buff), 0);在
阅读全文
摘要:https://blog.csdn.net/shuimuniao/article/details/8017971 CurrentThread.h
阅读全文
摘要:https://blog.csdn.net/xj178926426/article/details/54345449 EventLoop.cpp
阅读全文
摘要:C也是存在正则表达式的 Linux下regex.h知识点和使用样例 上文中有一个样例代码,进行了测试 总结一下有些注意点: 1.上述代码的匹配子串很奇怪,为什么会出现 的结果?? 2.可以使用^xxxx$来限定字符串从开头到结尾都要匹配 3.REG_NEWLINE的效果没试出来 现下想实现判断整串字
阅读全文
摘要:效率较低的代码 通过查表方式,空间换时间 参考: CRC-16的原理和实现
阅读全文
摘要:自进程会把父进程的变量copy一份,按理来说应该不能通过变量通信了 不过我想到一个办法,父进程使用一个变量和一个指针,指针指向变量的地址,然后fork一下,按理来说,子进程的指针也是指向父进程的变量的,这样就可以变量通信了吧 顺带看了些文文 僵尸线程 (在被父进程wait前,所有子进程都会存在僵尸线
阅读全文
摘要:epoll的触发方式有水平触发以及边缘触发。 水平触发相当于高级的select,当可读或可写时就会触发。比如将fd设为可读并交给epoll,只要fd有数据可读都会触发 边缘触发是在由不可读变为可读一瞬间触发一次。 为什么需要将socketfd设为非阻塞呢? 因为如果一个客户端连接的socketfd连
阅读全文
摘要:在结构体内定义位,节省空间 结果 由于对齐原因,这里的struct依旧使用可4字节,通过#pragma pack(n)可以定义对齐的字节数 这里可以用bit代替bool,节省空间,在网络通信里还可以以此节约流量
阅读全文
摘要:原型: sa_flag的参数 man手册里的 SA_NOCLDSTOP If signum is SIGCHLD, do not receive notification when child processes stop (i.e., when they receive one of SIGSTO
阅读全文
摘要:C connect函数是阻塞的,现要实现非阻塞式的connect。
阅读全文
摘要:https://www.cnblogs.com/zhanghongfeng/p/7726199.html https://www.cnblogs.com/xudong-bupt/p/3478297.html https://zhidao.baidu.com/question/196852872.ht
阅读全文
摘要:"互斥锁"(Mutual exclusion,缩写 Mutex),防止多个线程同时读写某一块内存区域。 这时的解决方法,就是在门口挂n把钥匙。进去的人就取一把钥匙,出来时再把钥匙挂回原处。后到的人发现钥匙架空了,就知道必须在门口排队等着了。这种做法叫做"信号量"(Semaphore),用来保证多个线
阅读全文
摘要:原文:#ifndef HeaderName_h #define HeaderName_h #endif 使用详解 想必很多人都看到过头文件中写有:#ifndef HeaderName_h #define HeaderName_h // 这里面通常写各种宏定义、其他头文件的包含 #endif 这样做的
阅读全文
摘要:函数名: rewind功 能: 将文件指针重新指向一个流的开头用 法: int rewind(FILE *stream);程序例:#include <stdio.h>#include <dir.h>int main(void){ FILE *fp; char *fname = "TXXXXXX",
阅读全文
摘要:malloc()没啥好讲的,唯一要注意的就是与new的区别 malloc()失败是返回NULL指针,new失败是抛出异常 malloc和new的空间释放的方式不能串着用 new数组时需要注意配合delete[]。new char[] new int[] 之类没什么,如果new string[] 这类
阅读全文
摘要:百度百科 calloc是一个ISO C函数 函数名: calloc 函数原型:void *calloc(size_t n, size_t size); 功 能: 在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。 n: Numbe
阅读全文
摘要:1. memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组, c:是赋给buffer的值, count:是buffer的长度. 这个函数在socket中多用于清空数组.如:原型是memset(b
阅读全文