linux下如何查询一个函数或结构的原代码?
使用ctags最方便。1.安装CTAGS。2.在内核源码目录下执行ctags-R*生成标签数据库。3.您在vim-t中寻找的数据结构的定义。例如,vim-tflock在网络上有详细的说明。您可以搜索以下内容。
linux中为什么那么多main函数?
你是说源代码?那些都是内核的模块和驱动,真正的内核只有一个主函数。
如何学习linux驱动开发?
1.学习编写简单的makefile
2.创建一个可以运行makefile的应用程序。
3.学习编写驱动的makefile
4.写一个简单的char驱动,makefile编译好了,可以是insmod,lsmod,rmmod。在驱动程序的init函数中打印HelloWorld之后,您应该能够通过dmesg看到输出。
5.写一个完整的驱动,加上驱动实现的各种功能,如读,写,ioctl和轮询。在ioctl中完成了从用户空间到内核空间的结构转换。
6.写一个块驱动,加上读,写,ioctl,poll等各种函数。
7.简单学习一下最难的内存管理,了解各种内存alloc函数的实现细节。这是linux开发的基本功。
8.学习锁机制的应用,这不是最难的但也是最容易出错的,涉及到很多同步和并发的问题。
9.看看内核中实际应用的驱动代码。你会发现你已经知道最基本的,大的框架都是一样的,无非是read,write,ioctl等函数的实现,但是包含了很多很多以前不知道的小的实现细节。这个时候要考虑很多其他的问题,而不仅仅是基本功能的实现。
Linux免费学习地址:
linux函数命名规范?
Linux中的命名规范:
注意:
1.除/(根目录)以外的所有字符都是合法的。
2.有些字符,如空格字符、制表符、退格字符和字符@#()-最好不要使用。
3.避免使用?作为通用文件名的第一个字符。
4.区分大小写。
变量命名规则:
1)变量名必须有一定的含义,并且准确。例如,有一个变量用于存储书籍的数量,可以命名为number_of_book或num_of_book。不推荐我,因为没有意义。也不建议用number或者book,因为意思不准确。2)不建议大小写混合。如果定义了计数变量,intnCount;这是Windows中不错的一个。变量名,其中nCount的首字母n用来表示这个变量的类型是int。但是不建议在Linux下使用大小写混合。通常,标识符只由小写字母、数字和下划线组成。3)无意义时尽量使用较短的变量名。比如有一个变量用来临时存储一个计数值,把变量命名为tmp_count显然比this_is_athis_is_a_temperary_counter更好。4)匈牙利命名法不用于表示变量的类型。如intnCount;n用来描述变量的类型,所以在Linux中不建议命名变量。5)函数名要以动词开头,因为函数是一组具有特定功能的语句块。例如,用于获取外部输入值的函数可以命名为get_input_number。6)尽量避免使用全局变量。