编程 2016-04-08 / 13 分钟

自己实现inet_aton和inet_ntoa函数功能

之前遇到过要自己实现 inet aton 和 inet ntoa 函数功能的问题,这里总结一下。 一、基本知识 网络字节序是大端模式,那么内存中的低地址存放的是数据的高位,内存中的高地址存放的是数据的低位。 inet aton 是将IPv4地址(点分法)转换成对应的十进制整数;而 inet ntoa...

编程 2016-03-23 / 10 分钟

C语言删除无序整型数组中的重复元素及时间复杂度

遇到一个题,大概要求是写一个函数处理来去掉一个无序的整型数组(例如int i arr = { 1, 2, 2, 3, 4, 2, 3, 5 };)中重复的元素,并返回最终的长度。 一、思路 看到这道题的时候,第一反应就是需要删除元素,然后联想到单链表。但是后面一想还是不划算,因为单链表还得先把数组中...

编程 2016-03-14 / 7 分钟

Linux使用KILL 0检测进程是否存在

之前遇到过 kill pid, 0 的情况,由于平常没注意到kill函数的形参为0的情况,不知道它的作用。后面用 man 2 kill 命令查看了下kill函数的说明,发现可以用来检测进程的存在情况。 ! man 2 kill查看关于形参0的说明 https://cdn.typecodes.com/...

编程 2016-03-14 / 20 分钟

UNIX环境高级编程(APUE)之单实例守护进程

在UNIX环境高级编程(APUE)中提到了守护进程的创建方法,思路很清晰,所以这里通过代码具体研究下。 ! UNIX环境高级编程(APUE)之单实例守护进程 https://cdn.typecodes.com/2016/03/apue.png "UNIX环境高级编程(APUE)之单实例守护进程" 一...

编程 2016-03-13 / 6 分钟

vsnprintf字符串格式化输出实例:日志中打印程序名和行号

在Linux C/C++程序中打印日志时,可能会由于需要打印未知个数的变量参数,那么 vsnprintf 函数就排上用场了。这里使用一个简单的C程序例子,演示在打印源程序文件名和该打印函数所在的行号的同时,使用vsnprintf函数打印个数未知的参数变量。 一、完整程序 代码比较简单,如果需要把内容...

随笔 2016-03-03 / 3 分钟

Disqus支持的HTML标签和代码高亮方法

由于Disqus不支持Markdown的原因,所以在评论中使用HTML标签和代码高亮就不像Markdown那样方便了。在查看了 Disqus官方 https://help.disqus.com/customer/portal/articles/466253-what-html-tags-are-al...

编程 2016-02-29 / 16 分钟

Linux TCP通信出现CLOSE_WAIT后导致服务端进程挂掉

在 前文 https://typecodes.com/cseries/tcpdumpwiresharkclosewait2.html "《使用TCPDUMP和Wireshark排查服务端CLOSE WAIT二》" 中讲述了Linux服务端TCP通信出现 CLOSE WAIT 状态的原因,这篇文章主要...