- 博客(263)
- 资源 (4)
- 收藏
- 关注
原创 线程相关函数
1.pthread_cancel函数用来请求取消同一进程中的其他线程,它是非阻塞的。 2.pthread_mutex_trylock试图加锁,失败则会返回EBUSY. 3.pthread_mutex_timedlock试图加锁,超时则会返回ETIMEDOUT. 4.读写锁也叫共享互斥锁。int pthread_rwlock_init(pthread_rwlock_t *restrict rw...
2022-08-11 08:57:39
510
原创 如何生成钱包
console.log("key length fail,请重新执行")console.log("账号地址: "+wallet.address);console.log("账号私钥: "+keyNumber._hex);
2022-08-11 08:51:28
687
原创 线程相关函数
1.pthread_cancel函数用来请求取消同一进程中的其他线程,它是非阻塞的。 2.pthread_mutex_trylock试图加锁,失败则会返回EBUSY. 3.pthread_mutex_timedlock试图加锁,超时则会返回ETIMEDOUT. 4.读写锁也叫共享互斥锁。int pthread_rwlock_init(pthread_rwlock_t *restrict rw
2017-11-02 22:02:28
623
原创 SIGTTOU 和SIGTTIN
#include "stdio.h" #include "unistd.h" int main(int argc, char const *argv[]) { char buf[10]="xxxxxxxxx"; write(STDOUT_FILENO,buf, 5); return 0; } gcc out.c -o out ./out & 或者 nohup ./out & 用
2017-10-29 11:41:15
4827
转载 Linux进程的实际用户ID和有效用户ID
转自: http://www.cnblogs.com/kunhu/p/3699883.html 在Unix进程中涉及多个用户ID和用户组ID,包括如下: 1、实际用户ID和实际用户组ID:标识我是谁。也就是登录用户的uid和gid,比如我的Linux以simon登录,在Linux运行的所有的命令的实际用户ID都是simon的uid,实际用户组ID都是simon的gid(可以用id命
2017-10-16 22:16:35
922
原创 vs编译工程的坑
1. c/c++ > 代码生成 > 运行库 (MT MTd MD MDd) 2. c/c++ > 常规 > SDL检查 (是 否) 3. c/c++ > 预处理器 > 预处理器定义 4 c/c++ > 常规 > 附加包含目录 5 链接器 > 常规 > 附加库目录 6 链接
2017-07-28 21:15:58
422
原创 golang slice
package main import "fmt" func main() { var arr1_ [8]int var slice1_ []int = arr1_[0:5] // item at index 5 not included! var slice2_ []int = arr1_[0:4] arr1_[2] = 4 fmt.Println(slice1_[2]) fmt.
2017-07-12 17:08:23
521
转载 Network-Emulator Network-Emulator-Toolkit网络模拟器使用
背景:公司测试通讯软件,局域网环境太优秀了,没办法,只好模拟复杂网络环境了。 软件介绍:Network Emulator for Windows Toolkit 听说是从visiostudio中提取出来的,我从网上找的教程也都是和编程有关系的,让我很蛋疼。这里就简单介绍一下。 界面 1:选择网卡 2:选择过滤器 3:选择模拟的内容
2017-07-12 11:20:21
2878
原创 tcp linger
关于linger http://blog.sina.com.cn/s/blog_4b37468f0101ftpt.html 服务器一般不主动关闭fd
2017-06-27 12:33:17
763
转载 TCP心跳 | TCP keepAlive(转)
应用层对于每个socket采用如下函数来开启 keepalive机制,其参数将采用系统上述配置。 setsockopt(rs, SOL_SOCKET, SO_KEEPALIVE, (void *)&keepAlive, sizeof(keepAlive)); 注意:keepalive是一个TCP协议包,并不是应用层数据包,意即通过recv等函数从应用层上是无法获得该协议包。可通过抓包工
2017-06-27 11:51:52
505
原创 关于mysql复合索引
http://www.cnblogs.com/joyber/p/4349604.html CREATE TABLE `log` ( `id` int(20) NOT NULL AUTO_INCREMENT, `t11` int(11) NOT NULL , `t22` int(11) NOT NULL , `logtime` int(11) NOT NULL, PR
2017-06-22 17:26:30
582
转载 epoll相关
水平触发,只要可读或可写,事件会一直触发 边缘触发,只有从不可读变为可读、从不可写变成可写,事件才会触发 基于此,水平触发,socket不需要设置为non-block,因为只要触发,就可以读或写。 而对于水平触发,事件一旦触发,需要用户一直读,直到缓冲区数据全部读完为止才可以,如果设置为block,在没有数据可读时,就block了,需要用eagain错误来告知用户,数据读完了,不用再读了
2017-06-11 18:01:46
309
转载 gdb调试时查看内存
x/ n、f、u是可选的参数,表示一个内存地址 1) n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容 2) f 表示显示的格式 3) u 表示将多少个字节作为一个值取出来,如果不指定的话,GDB默认是4个bytes,如果不指定的话,默认是4个bytes。当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一
2017-06-09 14:25:09
1607
原创 tcpdump分析
|---2字节为包长度--|--4字节为msgID--|--msg--| 组了个 长度为10的包 msgID = 115000(按照小端) msg = “reging” tcpdump下显示 000a 38c1 0100 7265 6769 6e67 ....8...reging 其中 000a = 10 38c1 0100 = (转大端序为) 0001
2017-05-29 09:54:54
521
原创 php include和require
include 和 require 除了处理错误的方式,include有返回值,而require没有。 不同之外,在其他方面都是相同的: require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。 include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。
2017-05-07 11:21:58
549
原创 关于c++map
1.只有重载 class C { public: int i; string str; bool operator { return i } }; 2.通过key获取value的方法 在map中,由key查找value时,首先要判断map中是否包含key。 如果不检查,直接返回map[key
2017-04-24 13:24:30
501
原创 c++多重继承一个小点
#include class tt { public: tt(){} virtual void test() = 0; virtual ~tt(){}; /* data */ }; class tt1 : public tt { public: tt1(){} virtual void test(
2017-04-20 17:05:41
372
原创 typedef 定义函数指针
关于C++中函数指针的使用(包含对typedef用法的讨论) (一)简单的函数指针的应用。 //形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFu
2017-04-18 11:38:51
544
原创 lua闭包
闭包的概念 在Lua中,闭包(closure)是由一个函数和该函数会访问到的非局部变量(或者是upvalue)组成的,其中非局部变量(non-local variable)是指不是在局部作用范围内定义的一个变量,但同时又不是一个全局变量,主要应用在嵌套函数和匿名函数里,因此若一个闭包没有会访问的非局部变量,那么它就是通常说的函数。也就是说,在Lua中,函数是闭包一种特殊情况。另外在Lua的C
2017-04-16 10:59:54
494
原创 Redis配置文件详解
转自 : https://yq.aliyun.com/articles/38806 # vi redis.conf daemonize yes #是否以后台进程运行 pidfile /var/run/redis/redis-server.pid #pid文件位置 port 6379#监听端口 bind 127.0.0.1 #绑定地址
2017-01-13 12:32:04
474
原创 安装Go 1.x (x ≥ 5)
为了构建 Go 1.x (x ≥ 5),需要先安装 Go 1.4 到 $GOROOT_BOOTSTRAP.(因为Go 1.5以后 将使用 Go 1.4 进行构建,) 第一步:先下载1.4源码和1.7源码 第二步:cd到go1.4/src里,执行.all.bash...........安装完毕 第三步:export GOROOT_BOOTSTRAP=...go1.4 第四步:cd到g
2016-08-26 11:30:30
590
转载 使用Lua的扩展库LuaSocket用例
目录结构 LuaSocket 是 Lua 的网络模块库,它可以很方便地提供 TCP、UDP、DNS、FTP、HTTP、SMTP、MIME 等多种网络协议的访问操作。 它由两部分组成:一部分是用 C 写的核心,提供对 TCP 和 UDP 传输层的访问支持。另外一部分是用 Lua 写的,负责应用功能的网络接口处理。 一、安装LuaSocket 下面介绍两种安装方法
2016-08-24 10:19:31
24327
转载 urlencode 和 urldecode
URLEncode方法是把任何我们给出的参数转换成适合放在URL中的字符串。具体规则: 1。字母,数字,连字符不变。 2。空格转换成加号。 3。其他所有的字符转换成用百分号表示,后跟字符的两位十六进制编码。 URLDecode功能相反。
2016-07-20 14:28:54
2459
原创 sendEmail
sendEmail下载地址:http://caspian.dotconf.net/menu/Software/SendEmail/ # wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz //下载1.56版本 # tar -xzvf sendEmail-v1.56.tar.gz //解压后
2015-11-28 11:10:09
1441
转载 SIGCHLD和waitpid的使用
www.douban.com/note/156155337/ 提问者: 看unix网络编程第一卷的时候,碰到书上这样一个例子: 一个并发服务器, 每一个客户端连接服务器就fork一个子进程.书上讲到当同时有n多个客户端断开连接时, 服务器端同时有n多个子进程终止, 这时候内核同时向父进程发送n多个sigchld信号.它的sigchld信号处理 函数如下: v
2015-11-23 15:47:09
768
原创 文件描述符和文件表项
同一进程内: 多个fd可以指向同一个文件表项。(只有dup才会出现这种情况) 多次open出同一个文件,会出现多个文件描述符和多个文件表项,它们的文件偏移量显然是不同步的。 多个文件表项可指向同一个i-node节点 不同进程内: 不同进程的fd可以指向同一个文件表项。(只有父进程fork出子进程时才会出现的情况。) 文件描述符表是进程级别的 文件表项表是系统级别的
2015-11-18 16:26:22
2719
转载 MySQL日期时间函数大全
MySQL日期时间函数大全 转 MySQL日期时间函数大全 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。
2015-11-10 20:20:37
1861
转载 零长度数组的妙用
转自 http://blog.chinaunix.net/uid-20196318-id-28810.html 零长度是指定义数组时,指定其长度为0(如int arr[0];),这样的数组不占用实际的空间,但能通过数组名访问到其指向的地址。如下例所示: #include stdlib.h> #include stdio.h> struct device { in
2015-09-25 18:11:37
501
原创 printf的格式控制字符串
printf(“格式控制字符串”, 输出表列) 其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如: “%d”表示按十进制整型输出; “%ld”表示按十进制长整型输出; “%c”表示按字符型输出等。 非格式字符串原样输出,在显示中起提示作用。输
2015-09-23 10:09:57
10856
原创 windows事件通知
// fortest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #include #include #include HANDLE hThread,hThread1; static HANDLE m_hEvent; DWORD WINAPI workmethodW
2015-09-22 14:31:33
1896
转载 VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
来源:http://www.cnblogs.com/lidabo/archive/2012/05/29/2524170.html 说明 $(RemoteMachine) 设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。 $(References) 以分号分隔的引用列表被添加到项目中。 $(Confi
2015-09-21 12:53:39
465
原创 c++ good() eof() fail() bad()
// fortest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #include #include #include #include int main() { std::istringstream is("123"); std::cout << "-------------
2015-09-11 10:06:21
3521
1
转载 C语言回车符号和换行符
C语言在向计算机输入文本文件时,将回车换行符转换为换行符,在输出时把换行符转换成回车和换行两个字符。 在用二进制文件时,不进行这种转换,在内存中的数据形式与输出到外部文件中的数据形式完全一致,一一对应。 c语言中怎样知道文件中的换行符是还是 回答是:这是一个实现相关的问题。 首先纠正一下你说法中的错误:是回车,在C中就是字符'\
2015-08-21 17:45:49
35851
原创 我现在的心情!!!
近来一直在做 https://github.com/heyuanlong 自己的web服务器,当做练手项目。 这几天,我可是焦头乱耳,why? bug!!!!!bug !!!!!bug !!!!!!!! 此刻,外头是正下着雨,但是里头的我是在晴天下,因为困扰我好几天的bug被我消除了,哈哈哈!!! bug描述:浏览器获取不到服务器的响应。 此bug真是穿了件很宽大的
2015-07-24 17:06:14
1044
原创 linux 信号屏蔽
#include #include #include #include #include #include /* sigemptyset(&newmask);//获取空屏蔽信号集 sigfillset(&newmask);//获取屏蔽了所有信号的屏蔽信号集,除了那两个SIGKILL SIGSTOP sigpending(&pendmask);//获取进程中当前的屏蔽信号集 siga
2015-07-10 13:16:42
2314
原创 算术表达式
#include #include #include #include #define MAXzhansize 30 char stack[MAXzhansize];// char deleted(int *top); void add(int *top,char item); //////////////////////////////////////////////////////
2015-07-07 15:54:21
972
原创 打星星游戏
//大一暑假 #include #include #include #define n 10//地图大小 int m=1; int g=5; //////////////////////////人是1,墙是9,星星是8/10,空位是0,光是2; int count=0; int point='w'; void move(int a[][10],int i,int j
2015-07-07 15:53:18
957
原创 日历日历日历
原版始于2012.1.10 #include "stdio.h" #include "conio.h" #include "time.h" #include "stdlib.h" void diao(int year,int month);//第一个被调用函数,只是获得space; int leap(int year);//是闰年加1 int jjmonth(int year,int mont
2015-07-07 15:51:54
1524
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅