
itop4412学习
kingyal
加油!
展开
-
Linux系统编程之getcwd函数族获取当前目录
在linux系统编程中,可通过getcwd获取当前目录,就像在ubuntu中用命令pwd获取当前目录一样,只不过这里是通过编程实现。首先,通过man命令查看下getcwd相关函数,输入man 2 getcdw,进入如下界面:看到与获取目录相关的三个函数,接下来,我们通过代码来实现:#include <unistd.h>#include <stdio.h>...原创 2019-01-23 21:06:59 · 2934 阅读 · 0 评论 -
module_init与module_exit
这是一个简单的linux驱动程序:/*包含声明开源与作者的两个函数*/#include <linux/module.h>/*包含入口与出口函数*/#include <linux/init.h>//声明开源,声明作者可有可无MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("kingyal");static int...原创 2019-04-01 20:47:28 · 1006 阅读 · 0 评论 -
printk:内核打印函数
printk是内核打印函数,它与printf的不同只处在于printf运行在用户态,printk运行在内核态。 两个函数几乎是相同的,出现这种差异是因为tty_write函数需要使用fs指向的被显示的字符串,而fs是专门用于存放用户态段选择符的,因此,在内核态时,为了配合tty_write函数,printk会把fs修改为内核态数据段选择符ds中的值,这样才能正确指向...原创 2019-04-01 20:15:47 · 843 阅读 · 0 评论 -
itop下内核源码目录结构
linux内核源码目录结构如下:arch目录:arch目录为平台目录,所有内核能支持的CPU结构,在该目录下都有对应的子目录,如arm,x86等,每个CPU的子目录,又可进一步分为boot,kernel,mm,vfp等子目录,用来控制系统引导,内存管理,系统调用等。其他目录如下图:以下标红的部分是linux编写驱动时常常用到的一些文件夹。...原创 2019-04-01 19:55:06 · 292 阅读 · 0 评论 -
Linux中的vim显示中文字符方法
linux的vim编译器显示中文字符的方法是添加编码格式“utf-8”编码方式:1.打开文件“/etc/vim/vimrc” ,指令为:vim /etc/vim/vimrc2.在打开的文件的最最底部添加代码“set fencs=utf-8,GB18030,ucs-bom,default,latin1“如下图:添加后记得一定要保存!此时,vim就可以显示中文了。...原创 2019-03-11 11:26:56 · 6733 阅读 · 4 评论 -
Linux系统编程之进程相关的三个函数函数:getpid(), fok(),execl()
1. 首先,我们来看第一个函数族getpid,这个函数族包括两个函数:geipid():用来获当前函数的进程号;getppid():用来获取当前进程的父进程的进程号。接下来是一个demo,用来获取当前进程及其父进程的进程号:#include <sys/types.h>#include <unistd.h>#include <stdio.h>...原创 2019-02-26 21:44:18 · 732 阅读 · 0 评论 -
Linux系统编程之无名管道
在linux中,一切文件! 无名管道也是一种文件,无名管道用于具有血缘关系的进程之间,为半双工模式。我们可以想象一下,一个管道有两端,一个用来写入数据,另一个用来读取数据,无名管道用int pipe(int pipefd[2])函数创建,可用man 2 pipe在Linux中查看函数详情。因此,无名管道在创建成功后,会生成两个文件描述符,一个用来指向读端口,一个指向写端口,这两个文...原创 2019-03-01 22:15:25 · 749 阅读 · 0 评论 -
Linux系统编程之移动文件函数rename
移动文件用到的命令使mv,对应的linux应用编程函数为rename,可用 man 2 rename查看函数的具体含义,我们再linux中新建一个文件时,这个文件的文件名其实不仅仅包括我们输入的这个名,还包括它的文件路径,这里,我们新建一个test1文件:编写程序,将test1改名为test2:#include <stdio.h>int main(int argc, c...原创 2019-02-24 22:59:09 · 2630 阅读 · 0 评论 -
Linux系统编程之chdir转入其他目录
chdir函数可以用来切换到其他目录下,这里可用前面学过的getcwd函数来获取当前目录,具体函数如下:#include <unistd.h>#include <stdio.h>#define LENGTH 255int main(int argc, char *argv[]){ int ret; char pwd[LENGTH]; ...原创 2019-02-13 20:59:17 · 642 阅读 · 0 评论 -
Linux系统编程之软硬连接与解除连接
这次编写的是硬链接与软连接相关的程序:#include <stdio.h>#include <unistd.h>int main(int argc, char *argv[]){ int ret; if(argc < 5) { printf("please check the input file!"); ...原创 2019-02-23 21:05:13 · 759 阅读 · 0 评论 -
Linux系统编程之修改目录与文件权限的chmod函数组
linux中的文件的权限修改可通过chmod命令来修改,也可以通过编程来实现文件权限的修改,我们可以通过man 2 chmod查看这个函数是如何使用的。如下是一个修改两个文件的权限的demo:#include <sys/stat.h>#include <sys/types.h>#include <fcntl.h>#include <stdio...原创 2019-01-22 22:11:15 · 1874 阅读 · 0 评论 -
Linux系统编程之管理目录与文件的stat函数组
在ubuntu中,我们可以通过ls相关命令查看文件和目录的有关信息,如使用ls -ail,我们可以看到文件的相关信息,如下图所示,那么,我们如何通过编程提取相关文件的信息呢?此时,就可以用stat函数来实现这个功能。首先,我们通过man命令来查看下stat相关函数组,使用命令man 2 stat就可以看到如下信息:从以上图中,我们可以看到,包含了stat,fstat,lstat三个...原创 2019-01-22 21:36:47 · 491 阅读 · 0 评论 -
Linux系统编程之创建文件夹与删除文件夹的mkdir与rmdir函数
在linux系统编程中,可通过mkdir函数编程实现文件夹的创建,通过rmdir函数删除文件,函数代码如下,比较简单:mkdir函数创建文件:#include <sys/stat.h>#include <sys/types.h>#include <stdio.h>int main(int argc, char *argv[]){ int...原创 2019-01-23 22:11:40 · 865 阅读 · 0 评论 -
Kconfig与Makefile
内核源码树的目录下都有两个文件,即Kconfig与Makefile。分布到各个目录中的Kconfig文件构成了一个分布式的内核配置数据库,每个Kconfig文件分别描述了所属目录源文档的相关内核配置菜单,在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config这个内核配置文档中,在内核编译时,主目录中的makefile调用.config文件,就知道了用...原创 2019-05-19 14:57:38 · 307 阅读 · 0 评论