导航

05 2021 档案

sourceinsight频繁挂死问题
摘要:我virtualbox一直都是设置的粘贴板双向,但是经常出现本地复制的数据,只能粘贴到虚拟机使用,连本地都用不了。 这一段时间,sourceinsight频繁挂死,我无可奈何。 后来我禁用了双向复制,因为复制到虚拟机的东西是少数,多数情况还是本地复制粘贴。 此时,sourceinsight挂死次数基 阅读全文

posted @ 2021-05-29 14:08 toughcactus 阅读(960) 评论(0) 推荐(0)

tcp socket通信 Round 2
摘要:server端未创建socket;server端创建socket;server创建socket并bind:此时client端尝试connect不会阻塞(未作设置),但errno为111,即 #define ECONNREFUSED 111 /* Connection refused */ serve 阅读全文

posted @ 2021-05-29 13:54 toughcactus 阅读(98) 评论(0) 推荐(0)

centos升级cmake
摘要:https://cmake.org/files/v3.15/ https://blog.csdn.net/u013714645/article/details/77002555 https://blog.csdn.net/gujing001/article/details/6748291 安装cma 阅读全文

posted @ 2021-05-26 11:38 toughcactus 阅读(518) 评论(0) 推荐(0)

压缩 解压
摘要:我到现在都不记得命令。。。。 tar -zcvf 123.tar.gz folder_name tar -zxvf 123.tar.gz 阅读全文

posted @ 2021-05-25 17:39 toughcactus 阅读(50) 评论(0) 推荐(0)

epoll + signalfd使用过程遇到的问题
摘要:当前,signalfd注册有SIGCHLD 当处理完一个SIGCHLD信号后,epoll持续有signalfd的读事件,但去读fd的时候,读不出东西。 未解决。 读的时候,确认errno为 #define EINVAL 22 /* Invalid argument */ 信号结构体大小128,我传参 阅读全文

posted @ 2021-05-24 15:43 toughcactus 阅读(138) 评论(0) 推荐(0)

vfprintf的使用
摘要:今天实现日志模块的时候,打印了但是cat不出东西。 vfprintf(fp, format, args); fflush(fp); 原因是写入fp的内容会先写入缓冲,如fclose操作会将缓冲的东西写入文件,但如果想实时写入,需调用fflush。 另外使用宏__FUNCTION__作为参数的时候,参 阅读全文

posted @ 2021-05-24 15:41 toughcactus 阅读(226) 评论(0) 推荐(0)

关于sockfd设置非阻塞模式
摘要:今早测试的时候,发现改完的代码,socket出现EPOLLHUP | EPOLLERR 然后connect的时候返回值为-1,errno为 #define EINPROGRESS 115 /* Operation now in progress */ 这是正常的,因为connect设置的是不阻塞直接 阅读全文

posted @ 2021-05-24 09:14 toughcactus 阅读(103) 评论(0) 推荐(0)

看代码学到的哈希表遍历处理
摘要:在遍历哈希表的时候,{}里,其实就是对bucket的处理。 每回遍历哈希表的目的,就是对bucket作不同处理。 那么实现处理函数就好了,需要遍历的时候,传入处理函数。 阅读全文

posted @ 2021-05-21 08:55 toughcactus 阅读(118) 评论(0) 推荐(0)

小脚本
摘要:文件A 1.1.1.1 33 2.2.2.2 44 3.3.3.3 55 4.4.4.4 66 文件B 2.2.2.2 hello I donot 4.4.4.4 what this is 要求:将文件A的第二项加入到文件B同一条目的最后 注意:sed那不能用单引号,原因,原因就是用了不生效 #! 阅读全文

posted @ 2021-05-20 11:36 toughcactus 阅读(102) 评论(0) 推荐(0)

关于连接释放的信号
摘要:如果没有要读的数据,但调用read,返回值为-1,errno为11,即EAGAIN https://baike.baidu.com/item/errno/11040395?fr=aladdin 经验证,当client调用close,此时server进行read,n为0 测试程序代码 //server 阅读全文

posted @ 2021-05-18 14:16 toughcactus 阅读(52) 评论(0) 推荐(0)

信号处理2
摘要:#include <sys/signalfd.h> #include <signal.h> #include <unistd.h> #include <stdio.h> #include <sys/wait.h> int main(void) { sigset_t set; int fd; stru 阅读全文

posted @ 2021-05-14 17:27 toughcactus 阅读(67) 评论(0) 推荐(0)

markdown学习
摘要:很多开源项目里一定会有README.md文件,我org-mode撸不熟,所以吧,先找个能用的 https://www.zhihu.com/question/269925359 阅读全文

posted @ 2021-05-14 17:13 toughcactus 阅读(34) 评论(0) 推荐(0)

成就感 sed -i哈哈哈哈
摘要:今天有个实操,就是config_0,config_1,config_2,config_3四个文件均要修改log路径 sed -i '/logpath/d' congfig_* echo "logpath xxxxxxx" > log_patch sed -i '/debug/r log_patch' 阅读全文

posted @ 2021-05-14 11:23 toughcactus 阅读(35) 评论(0) 推荐(0)

sed 学习 3
摘要:$cat test (1) (4) (2) (5) (3) (6) $cat test | awk '{print $2}' | sed "s/\(.*\)/\1/g" (4) (5) (6) #没有办法去掉括弧 我查了两本书,都没有sed -i选项,很坑啊 sed -i命令详解 - Ev_zhk 阅读全文

posted @ 2021-05-13 15:29 toughcactus 阅读(52) 评论(0) 推荐(0)

文件操作-读写
摘要:往文件格式化写入 //打印到文件 fprintf(fp, "%s\n", p); 阅读全文

posted @ 2021-05-12 14:10 toughcactus 阅读(48) 评论(0) 推荐(0)

sed学习 2
摘要:场景:配置文件一项配置一行,现在通过脚本,使得指定配置项的内容做修改 我觉得应该是清除当前的指定配置项,使用模式匹配 sed '/config_name/d' data.txt 在最后一行的下一行写入包含配置项的文件 sed '$r configAdd' data.txt 在最后一行的下一行添加数据 阅读全文

posted @ 2021-05-12 10:26 toughcactus 阅读(56) 评论(0) 推荐(0)

1字节对齐的坑能有多大
摘要:这个问题定位出来可把我🐂🍺坏了 这是我声明的结构体,区别就在于这个结构体是否一字节对齐 struct clubReply { u8 cmd; u8 md5[16]; u32 size; u8 data[0]; }__attribute__((packed)); 当我设置一字节对齐的时候,正确的数 阅读全文

posted @ 2021-05-11 16:15 toughcactus 阅读(233) 评论(0) 推荐(0)

linux(ubuntu centos)修改主机名
摘要:hostnamectl set-hostname name 阅读全文

posted @ 2021-05-11 10:50 toughcactus 阅读(53) 评论(0) 推荐(0)

linux terminator命令
摘要:垂直分屏 Ctrl + Shift + E 水平分屏 Ctrl + Shift + O 关闭窗口 Ctrl + Shift + W 多终端同步输入 win + G 关闭多终端同步输入 win + Shift + G 放大单个窗口 win + Shift + X 调整窗口大小 Ctrl + Shift 阅读全文

posted @ 2021-05-11 10:45 toughcactus 阅读(390) 评论(0) 推荐(0)

cmake build目录防止误删
摘要:昨天又经历了一回把写的代码全删的可怕事件。 今天想到了一个解决方法,在主CMakeLists.txt同级目录创建clean.sh #! /bin/bash pwd rm -rf ../build/* echo "finished" 在build目录下执行 ../clean.sh 虽然也不保险,但是我 阅读全文

posted @ 2021-05-11 10:12 toughcactus 阅读(281) 评论(0) 推荐(0)

fork和execv引起的读值问题
摘要:后来又遇见一次传值问题,结论如下: 传送的一定是字符串,除了末尾以'\0'结尾,中间也不能含0;提供2种解决方法,本身是数字可以加上'0',使用base64 最终父进程代码 #include <stdio.h> #include <unistd.h> #include <stdlib.h> int 阅读全文

posted @ 2021-05-11 09:40 toughcactus 阅读(96) 评论(0) 推荐(0)

strlen
摘要:昨晚调试的时候出现了一个问题,分配大小为72B的字符数组,strlen的结果为78 那么问题就在strlen这里,它是以'\0'结尾的 因为这边实际传送的都不是字符串,而是数据,我是没有加'/0'传输的,也不会 但是用sizeof是有条件的 void test(char p[], char *p2) 阅读全文

posted @ 2021-05-11 08:42 toughcactus 阅读(350) 评论(0) 推荐(0)

gdb 子进程
摘要:set follow-fork-mode [parent|child] 阅读全文

posted @ 2021-05-10 15:53 toughcactus 阅读(46) 评论(0) 推荐(0)

cmake引入编译选项宏
摘要:最终实现了。方案如下。 设置两个config.h.in,即此时有两份config.h 注意,生成文件夹是build目录下,因为config.h的生成是检测到已有就不修改 option(SUB_HEART "Sub client program heart" on) configure_file ( 阅读全文

posted @ 2021-05-10 14:15 toughcactus 阅读(1451) 评论(0) 推荐(0)

base64
摘要:之前有看到说应用场景是http,因为只让传字符串。 今天在execv传参也遇到这个问题,如果是数字的话,可以加上'0',不仅仅是数字,则可以使用base64 加密的时候看到base64,平时也见过实现。 刚才瞟了一眼,就是改变编码,如果取3个字节,经过base64处理后,就是四个字节。 原理是每个字 阅读全文

posted @ 2021-05-09 17:13 toughcactus 阅读(168) 评论(0) 推荐(0)

AES学习
摘要:./a.out 11 hello,world thisLen 11 cipherText: 14 140 39 184 128 166 91 84 250 32 158 thisLen 5 decryptedText: hello gcc aes_ctr.c -lssl -lcrypto aes可以 阅读全文

posted @ 2021-05-08 16:13 toughcactus 阅读(147) 评论(0) 推荐(0)