[C++] Linux下的itoa函数
上篇文章说到linux需要itoa函数,下面我就提供一份跨平台的itoa函数。
//return the length of result string. support only 10 radix for easy use and better performance
int my_itoa(int val, char* buf)
{
const int radix = 10;
char* p;
int a; //every digit
int len;
char* b; //start of the digit char
char temp;
p = buf;
if (val < 0)
{
*p++ = '-';
val = 0 - val;
}
b = p;
do
{
a = val % radix;
val /= radix;
*p++ = a + '0';
} while (val > 0);
len = (int)(p - buf);
*p-- = 0;
//swap
do
{
temp = *p;
*p = *b;
*b = temp;
--p;
++b;
} while (b < p);
return len;
}
这个函数会返回字符串的长度,在某些场合下会很有用。
我测试了一下,这个函数大概比MFC自带的itoa要快20%左右。
(因为不需要在循环体内判断if (a > 9)了,所以更快)。
相关文档:
常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:
1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-s ......
转贴自:http://alexanderlaw.blog.hexun.com/8960896_d.html
Linux netfilter源码分析(1)
内容基本上来自两篇文章:
《Netfilter源码分析》—(独孤九贱http://www.skynet.org.cn/index.php)
《Linux Netfilter实现机制和扩展技术》——(杨沙洲 国防科技大学计算机学院)
一、 IP报文的接 ......
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
内容如下。
DEVICE=eth0
BOOTPROTO=none
IPADDR=192.168.1.115
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
HWADDR=00:25:11:E2:2E:53
ONBOOT=yes
TYPE=Ethernet
......