linux下的printf
有时不要以为printf一定能打印出数据来。有时,你不在程序的每个地方printf的地方都不加上"\n”,程序根本就不打印任何数据出来,信不?!我就倒霉的遇到个一次。遇到这些很头疼的,还以为是程序哪儿出错咯。原来这是因为,它其实有缓冲的功能,只有在“\n”,它才将缓冲里的数据,打印出来。切记,切记~~
比如在父子程序中,按理来说,子程序里面的printf绝对不会打印出父程序里面的printf数据。但你试试,在父程序里面调用printf,但不加“\n”,然后调用fork(),产生子程序。在子程序里面,你再调用printf,这回你再加上“\n”。结果,你就会发现子程序输出了父程序里面printf的数据。
父程序:
printf("1”);
if(fork()>0)
{//子程序
printf(“2\n”);
}
结果就是:
父程序:1
子程序:12
对比
父程序:
printf("1\n”);
if(fork()>0)
{//子程序
printf(“2\n”);
}
结果就是:
父程序:1
子程序:1
奇怪吧,话得说回来,是因为printf有缓冲功能,当你调用printf(不加“\n”),他会把你的数据缓冲起来,当你再调用printf(加上“\n”),他就会把里面缓冲的所有数据输出。
所以,对于一个程序员来说,这绝对算的上是必须知道的常识。
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
POSIX
是一种标准规范,主要针对在 Unix
操作系统上面跑的程序来进行规范。 若你的操作系统符合 POSIX ,则符合 POSIX 的程序就可以在你的操作系统上面运作。 Linux
由于支持 POSIX ,因此很多 Unix 上的程序可以直接在 Linux 上运作, 因此程序的移植相当简易!也让大家容易转换平台,提升
Linux 的使用率。
驱动与 ......
http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/
最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令。
想起以前写过的一篇其实Linux这样用更简单
,
发现这些系统信息查看命令也可以总结出一篇小小的东西来了。
另外这里
还有非常多的命令,
可以作为参考。
系统
# uname -a # ......
------------Linux上挂载Windows共享目录(重启后失效)--------------------
第一步:先在Windows上创建一个共享目录
第二步:在linux中运行如下命令:
mount.cifs //192.168.10.43/shared /root/shared -o user=name,pass=123456
注:/root/shared是linux上的目录。user是Windows系统的用户名 pass是Windo ......