如何学习linux下的c/c++编程
我计划的学习历程:
1. c和c++的基础知识,这个和操作系统无关,在windows上也可以学。c语言语法相对简单一点,c++不需要把所有的知识点都学会,要知道基本的封装,继承,多态之类的,还有STL。更深入的学习应该是在以后的工作中遇到问题了再去查资料。
2. 看书《APUE》,做书上的习题,掌握文件,系统调用,线程、进程、网络编程等基本知识(多是c实现的),加深对语言和系统的了解。这个阶段实际上就是熟悉linux系统的API的过程了。使用的编程工具组合:VI/EMACS/GCC/GDB。虽然有可视化的工具CodeBlocks和Eclipse,但是对初学者没有必要使用。
3. 寻找一些别人写的优秀的代码来研究。可以到各大论坛的精华区,或者sf上面寻找一些小的开源工程研究下。比如一个简单的socket聊天程序,或者多线程程序。
4. 这个过程与3是同步进行的,开始自己动手尝试编写实际有用的程序。比如一个聊天程序,一个FTP客户端,或者一个Email收发程序,图片演示程序,小游戏,数据表单软件等等。
5. 选择感兴趣的地方钻研。linux下涉及的东西很多,比如多线程,网络,linux内核等。
6. 其他。c/c++只是一门语言,学linux不应该局限于此,象shell脚本,Python,Perl都是值得去学习。
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
Title: `海风的Linux开发环境介绍
tag: linux开发入门, 开发环境, samba, indent, SourceInsight, Winux
文档发布声明: 任何人都可以针对本文档自由转贴,拷贝,引用,及修改后再发布,而无需过问我本人,只希望能够留下属于原作者的一些版权信息,请尊重原作者的劳动。
`海风 = ......
1. df -lh
查磁盘使用情况
2. du -s /usr/* | sort -rn
这是按字节排序
3. du -sh /usr/* | sort -rn
这是按兆(M)来排序
4.选出排在前面的10个
du -s /usr/* | sort -rn | head
5.选出排在后面的10个
du -s /usr/* | sort -rn | tail
说明:/usr/*也可以改成你想到达的任何目录
如/usr/local/zhou/r ......
转载
(1)软连接可以 跨文件系统 ,硬连接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 。ln aa.txt /root/bb 失败 。
(2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的连接 ......
一、什么是init
init是Linux系统操作中不可缺少的程序之一。 是一个由内核启动的用户级进程。
内核启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式来启动其他用户级的进程或服务。所以,init始终是第一个进程(其PID始终为1)。
内核 ......