coding
jhcsdn
这个作者很懒,什么都没留下…
展开
-
msgrcv()函数特性
msgtyp:从消息队列内读取的消息形态。如果值为零,则表示消息队列中的所有消息都会被读取。原创 2014-11-13 20:54:56 · 9715 阅读 · 0 评论 -
coding--字符编码简单理解
Ascii编码:单字节编码;Gb2312编码:汉字编码,双字节,范围0xA1~0x7E;GBK编码:ASCII编码和GB2312的合集;GB18030编码:GBK的超集,兼容GBK,变长,1、2、4字节;Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码。UTF-8、UTF-16、UTF-32分别以BYTE转载 2014-04-18 20:35:07 · 1012 阅读 · 0 评论 -
网络--- socket读写操作
socket阻塞模式:执行tcp的读写函数recv()、send()原创 2014-06-21 12:57:55 · 2557 阅读 · 0 评论 -
coding---宏连接、参数替换
宏在预编译阶段就被替换了,下面例子展示了:宏参数传递、宏连接、宏换行。#define INITSTOP_ERR 10001 //error number#define INITSTOP_LVL 1 //error level#define INITSTOP_DSC "zxinit process stoped. total error: %d\n"原创 2013-11-12 23:49:25 · 762 阅读 · 0 评论 -
coding---契比雪夫不等式
X为随机数,EX为均值,DX为标准差,k为任意正数,则:P{|X-EX|≥k}≤DX/k^2 或者 P{|X|≥(EX+k*DX)}≤1/k^2随机数X大于【均值+k倍标准差】(EX+kDX)的概率小于【1/k^2】所有数据中,至少有3/4(或75%)的数据位于平均数2个标准差范围内。所有数据中,至少有8/9(或88.9%)的数据位于平均数3个标准差范围内。所有数据中,至少原创 2014-07-07 20:48:23 · 2232 阅读 · 0 评论 -
coding---线程条件变量
初始化条件变量动态方法 pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *cattr)静态方法 pthread_cond_t cv = PTHREAD_COND_INITIALIZER;阻塞条件变量int pthread_cond_wait(pthread_cond_t *cv,pthread_mutex_转载 2014-03-15 16:38:40 · 558 阅读 · 0 评论 -
coding---关于字节对齐
(不记得从哪里读到的)字节对齐是指变量的起始地址将满足某种特性,以达到更高的访问效率。#pragma pack(N):基本数据类型变量m的对齐方式是M(M=min(N,sizeof(m)))字节对齐,即变量m的起始地址必须是M的整数倍;当N大于m的长度时,按m长度进行字节对齐,不会有什么问题;当N小于m时,变量按N字节对齐,此时可能导致问题;对于指针类型变量,起始地址为4的转载 2014-03-15 15:12:39 · 809 阅读 · 0 评论 -
coding---常用字符串接口
strcpy() 拷贝字符串到指定位置,以源字符串的\0结尾;strncpy() 拷贝最多n个字符串到指定位置,不追加\0;strcat() 追加字符串到目标字符串,以源字符串的\0结尾;strncat() 追加最多n个字符串到目标字符串,不追加\0结尾;sprintf() 格式输出源字符串到指定位置,以源字符串的\0结尾;snprintf() 格式输出源字符串的n-1个字符到原创 2013-11-12 23:31:17 · 782 阅读 · 0 评论 -
coding--SSL理解总结
SSL协议简介SSL(Secure Socket Layer)是netscape公司设计的主要用于web的安全传输协议。这种协议在WEB上获得了广泛的应用。SL协议分为两部分:Handshake Protocol和Record Protocol,。其中Handshake Protocol用来协商密钥,协议的大部分内容就是通信双方如何利用它来安全的协商出一份密钥;Record Protoco转载 2014-03-18 05:15:40 · 2468 阅读 · 1 评论 -
coding--open、fopen的差别
带缓存的文件操作是标准C库的实现,第一次调用带缓存的文件操作函数时标准库会自动分配内存并且读出一段固定大小的内容存储在缓存中。所以以后每次的读写操作并不是针对硬盘上的文件直接进行的,而是针对内存中的缓存的。何时从硬盘中读取文件或者向硬盘中写入文件有标准库的机制控制。不带缓存的文件操作通常都是系统提供的系统调用,更加低级,直接从硬盘中读取和写入文件,由于IO瓶颈的原因,速度并不如意,而且原子操作转载 2014-04-18 19:59:52 · 599 阅读 · 0 评论 -
coding--shell脚本、c语言函数参数列表
C函数入口Main(int argc, char* argv[]):argc是命令全部参数个数,包括命令本身;argv[0]是命令本身;argv[1]是第一个参数;argv[argc-1]是最后一个参数;shell命令参数列表:$#是命令后面的参数个数,不包括命令本身;$0是命令本身;$1是第一个参数;$argc是最后一个参数;原创 2014-04-18 20:37:10 · 578 阅读 · 0 评论 -
linux系统pam配置
PAM--- Pluggable Authentication ModuleLinux下可扩展的鉴权模块,用户进程服务某服务进程,服务进程先把请求送到PAM模块进行鉴权,PAM根据服务名从/etc/pam.d/目录选择一个服务文件,根据服务文件的配置内容进行鉴权。通过ldd命令查看服务名,确定服务是否使用pam功能(pam服务对应libpam*.so库文件):ldd /usr/sbin翻译 2013-11-12 23:51:45 · 3056 阅读 · 0 评论 -
socket编程几个结构
socket程序编码流程很简单,那几个地址结构体、函数接口容易混淆,经常搞不清,以下是个人理解总结。1) Socket相关结构体这些结构体最初是给ipv4地址定义的,后来兼容ipv6对结构体、函数做了扩展Ipv4网络地址:struct in_addr { u_int32_t s_addr; };Ipv6网络地址:struct in6_addr {原创 2013-11-12 23:56:07 · 942 阅读 · 0 评论 -
windows下的dll库
extern "C" --------------在C++编译器中使用作用是告诉C++编译器不要修改函数、变量的名称,因此通常用在dll文件编译参数中,使dll文件多次编译时,输出的函数、变量名称保持不变。相反的,__stdcall修饰函数时,编译后的函数名将发生变化,如__FUNCXX@112__declspec(dllexport) 声明函数、变量 ----------------告原创 2014-03-15 15:23:26 · 784 阅读 · 0 评论 -
coding---gdb方法、core指令定位
gdb是linux调试跟踪进程、线程的必备工具,开发中常用的几个方法总结如下。info threads显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。前面有*的是当前调试的线程。thread ID切换当前调试的线程为指定ID的线程。 thread apply ID1 ID2 command让一个或者多个线程执原创 2013-12-09 21:07:01 · 832 阅读 · 0 评论