c
fdsafwagdagadg6576
这个作者很懒,什么都没留下…
展开
-
UDP网络通信
注意事项:htons(htonl),大小端转换。尤其port,len容易改错,因为大小端都是65535之内,需要抓包看下。to do--如果发送65535,接收1024,需要如何循环接收?此前发送1500,使用1024会造成解析错误。与tcp相比,udp client 不需要connect。server不需要accept。双方的peer断网,如何处理?......原创 2022-08-28 13:13:42 · 191 阅读 · 0 评论 -
c语言解析协议常用套路
协议定义username,len,value;2个switch,case解析.读取value。原创 2022-08-28 12:49:56 · 639 阅读 · 0 评论 -
signal 杂谈
信号sigsuspend终于搞懂了。道路是曲折的。如有无信号处理函数。zeromask和waitmask区别。两者对pause和sigsuspend的不同.对信号是不是pending。非mask的信号处理。testcase的情况很多。易混淆.pause和sigsuspend:comments: sigpromask 的mask 和sigsuspend的pendm原创 2015-03-28 21:40:53 · 465 阅读 · 0 评论 -
C and 嵌入式tips
1 为啥不用int而用UCHAR主要是省空间应该 dcs和ecp之间交互的message太多 怕overload吧 尽量节省空间UCHAR opt_len,UCHAR *opt_parm,uchar 是int,uchar *p,是string这个看你需求了? uchar是用8bit去表示一个数字如果你printf %d打出来的就是0- 1111 1111之原创 2015-12-04 20:29:02 · 559 阅读 · 0 评论 -
指针-引用-数组-常见问题
目录1 子函数传值,传指针,传引用2指针数组和数组指针3指针数组,数组指针,指针函数,函数指针,二级指针详解正文1)值传递: //外面和里面的value不一样,传入是一个拷贝int func(int value){ value++; return value; // 一般需要返回值}int a=2;int b=func(a); //b==3;a==2;2) 传指针a) 子函数中的指针没变成指向,......原创 2020-09-27 15:12:58 · 200 阅读 · 0 评论 -
写一个实现功能的程序---小型数据库
写一个程序实现以下命令行功能:foo [-h] [-pfs] [-i filename] [-o filename]USAGE EXAMPLES: $ ./foo -h Usage: foo [-h] [-pfs] [-i filename] [-o filename]原创 2014-07-22 16:23:31 · 1266 阅读 · 0 评论 -
指针的问题
senario 1: malloc失败,p赋值.it means p=NULLsenario 2:byte don;t align .3 point potential risktwice free(p).still can assignso the point still point the heap. only set disable flag4 str原创 2014-08-06 16:44:56 · 346 阅读 · 0 评论 -
extern详解
当gcc assert.c b.c 将两个文件一起编译,这样两个文件看成一个工程。这样在b.c中定义的a变成全局变量,在assert.c 中用extern 表示引用全局*.o中global a这个变量,哪个.o中有a的定义,用哪个。即在b.o中调用。gcc 编译后,a.out会从b.o,assert.o 中自动查找。不用user care。njcgpc:felixzh/temp原创 2015-06-28 16:29:18 · 5751 阅读 · 1 评论 -
atoi实现
http://blog.csdn.net/richerg85/article/details/18729235atoi实现[cpp] view plain copy int atoi(char *str) { if(!str) return -1;转载 2016-08-15 00:26:46 · 296 阅读 · 0 评论 -
port from solaris to linux for c
1 sigwait() requires one more parameter in Linux.函数参数不同dbftam_signal= sigwait(&sigset);--- solaris retval = sigwait(&sigset,&dbftam_signal); ---linux2 signal 变成sigaction(void) signal( SIGAL原创 2016-05-28 19:58:09 · 479 阅读 · 0 评论 -
linux下c常用debug(code UT,coredump,网络)
要么使用debugger产生条件断点,要么在代码里加测试代码打出log(或者是core file)asser ,perror,errno, strerrnoassert 和perror 有什么区别。asset就是为了产生coredump。用coredump调查问题。是一个判断。assert失败,通过abort 产生coredump.perror是一个输出,printf 一原创 2015-06-28 16:31:54 · 599 阅读 · 0 评论 -
第一次写递归的程序
fn(int n) { int sum; //recurse terminal judge;don't go on fn in below again if (n==0) return 0; //scale is reducing before the fn module n原创 2014-09-12 14:40:15 · 383 阅读 · 0 评论 -
大端模式和小端模式
http://blog.csdn.net/hackbuteer1/article/details/7722667大端模式和小端模式分类: 面试珠玑2012-07-06 16:33 4145人阅读 评论(1) 收藏 举报存储网络编程编译器ibm在 各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题转载 2014-07-30 15:46:21 · 422 阅读 · 0 评论 -
定义和声明--第 20 章 链接详解
定义和声明extern和static关键字在上一节我们把两个程序文件放在一起编译链接,main.c用到的函数push、pop和is_empty由stack.c提供,其实有一点小问题,我们用-Wall选项编译main.c可以看到:$ gcc -c main.c -Wallmain.c: In function ‘main’:main.c:8: warning: imp转载 2015-06-28 16:25:53 · 390 阅读 · 0 评论 -
Linux进程间通信汇总
参考:《linux编程从入门到精通》,《Linux C程序设计大全》,《unix环境高级编程》参考:C和指针学习说明:本文非常的长,也是为了便于查找和比较,所以放在一起了Linux 传统的进程间通信有很多,如各类管道、消息队列、内存共享、信号量等等。但它们都无法介于内核态与用户态使用,原因如表通信方法无法介于内核态与原创 2015-06-28 14:55:06 · 453 阅读 · 0 评论 -
sctp head file
sctp function Change from redhat 5 and redhat 6 are different .monavista is closer to redhat 6 redhat 6 /* * 5.3.1 SCTP Notification Structure * * The notification structure is defined a原创 2013-03-18 15:57:03 · 856 阅读 · 0 评论