Linux与windows C++开发异同
1) 使用的库不同。windows下图形开发一般用微软的MFC或.net库,而Linux下则常用qt库。C/C++通用库(c库,STL库)的接口相同,但内部实现不同。
2) 编译器不同。windows下用的是微软编译器VC或.net,而Linux下则用gcc。
3) 开发环境不同。windows的编译器自动生成makefile,而Linux则需要手动编写makefile,但自由度很高。
4) 调试方法不同。windows具备丰富的UI调试界面和方法,而Linux下通常使用GDB调试,即命令行模式调试。但由于GDB对多线程调试的能力一般,所以也通常使用输出trace的方法调试。
5) 开发自由度不同。由于Linux是开源软件,开发人员可以按照自己的需要修改kernel或者driver。
6) 文件系统不同。文件分割符不同,文本文件的换行符不同等。
相关文档:
例一:发送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 ......
Linux常用的头文件集合:
<dirent.h> 目录项
<fcntl.h> 文件控制
<fnmatch.h> 文件名匹配类型
<glob.h> 路径名模式匹配类型
<grp.h>   ......
在linux下查看进程大家都会想到用 ps -ef|grep XXX
可是看到的不是全路径,怎么看全路径呢?
每个进程启动之后在 /proc下面有一个于pid对应的路径
例如:ps -ef|grep python
显示:oracle 4431 4366 0 18:56 pts/2 00:00:00 python Server.py
4431就是进程号
到/pro ......
生成静态库:
假如有文件 main.c、1.c、2.c 将1.c和2.c生成一个静态库的方法为,编写Makefile:
mylib.a:1.c 2.c
$(CC) -c $< # $<表示所有最新的依赖项,若没有旧的则是全部依赖项
ar crv libmy.a 1.o 2.o # 1.o 2.o为1.c和2. ......