Linux
文章平均质量分 70
2205
这个作者很懒,什么都没留下…
展开
-
Linux内核中的字符串处理函数
转自 http://blog.163.com/vic_kk/blog/static/4947052420107308587898/Linux内核不能使用用户空间的函数,不过内核里还是有很多同名字符串处理函数可用,基本没有障碍。#include 即可当然,有的函数还是体系结构优化的,例如有的powerpc处理器含有正则表达式硬件加速器。对于优化处理的函数,必须定义相应的__转载 2016-03-08 21:00:28 · 9624 阅读 · 0 评论 -
内核Oops小结
转自:http://blog.chinaunix.net/uid-27159438-id-3280213.html出现Oops消息的大部分错误时因为对NULL指针取值或者因为用了其他不正确的指针值。Oops如何产生的解释如下: 由于处理器使用的地址几乎都是虚拟地址,这些地址通过一个被称为“页表”的结构被映射为物理地址。当引入一个非法指针的时候,分页机制无法将该地址映射到物理地转载 2016-02-29 20:33:33 · 1434 阅读 · 0 评论 -
截获系统调用(sys_call_table/VFS)
转自http://blog.chinaunix.net/uid-20196318-id-28808.html方法1:修改系统调用表(适用于linux-2.4内核)内核使用sys_call_table数组来存储系统调用表,将系统调用号与系统调用处理函数对应起来,通过修改sys_call_table数组的某一个元素,即可实现截获系统调用的功能,在2.4内核中,sys_call_table符转载 2016-02-29 19:36:05 · 1467 阅读 · 0 评论 -
linux中的signal函数
转自 :http://blog.chinaunix.net/uid-21765995-id-1815646.html1.int (*func)();函数指针,指向的函数为空参数,返回整型;2.回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给被调用者从而实现调用。回调函数是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函转载 2016-03-12 00:16:36 · 594 阅读 · 0 评论 -
linux等待队列wait_queue_head_t和wait_queue_t
转自 http://blog.csdn.net/luoqindong/article/details/17840095本文转自 reille博客: http://velep.com/archives/815.html等待队列在linux内核中有着举足轻重的作用,很多linux驱动都或多或少涉及到了等待队列。因此,对于linux内核及驱动开发者来说,掌握等待队列是必须转载 2016-03-12 00:15:45 · 394 阅读 · 0 评论 -
从pid转换至task_struct
转自: http://blog.chinaunix.net/uid-20644632-id-68049.html今天在build一个kernel module的时候,遇到一个问题。编译的时候出现下面的警告:WARNING: "find_task_by_vpid" [/home/work/try/va2pa/va2pa.ko] undefined!insmod的时候失败,转载 2016-03-11 23:08:29 · 840 阅读 · 0 评论 -
linux下syscall函数,SYS_gettid,SYS_tgkill
转自: http://blog.chinaunix.net/uid-28458801-id-4630215.htmlNAME syscall - 间接系统调用SYNOPSIS #define _GNU_SOURCE #include #include转载 2016-03-10 21:00:10 · 7173 阅读 · 0 评论 -
linux系统调用接口整理
转自:http://blog.sina.com.cn/s/blog_703f58b101011qan.html 以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的。 按照惯例,这个列表以man pages第2节,即转载 2016-03-10 20:58:00 · 6039 阅读 · 0 评论 -
linux下获取程序当前目录绝对路径
转自 http://www.360doc.com/content/14/0114/15/8314158_345221928.shtml1、Shell版12#获取当前脚本所在绝对路径cur_dir=$(cd"$(dirname "$0")";pwd)2、C语言版方法一:用realpat转载 2016-03-10 20:38:01 · 554 阅读 · 0 评论 -
linux c程序中获取shell脚本输出的实现方法
转自 http://www.jb51.net/article/40812.htm1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函转载 2016-03-08 21:07:12 · 400 阅读 · 0 评论 -
进程的创建及相关api
转自 http://blog.chinaunix.net/uid-26833883-id-3222794.html一、进程的创建fork()函数 由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是 新子进程的进程ID。将子进程ID返回给父进程的理由是:因为一个进程的子进转载 2016-03-08 21:03:32 · 863 阅读 · 0 评论 -
strcpy()的使用
转自 http://www.cnblogs.com/ngnetboy/archive/2012/11/19/2777384.html大家都知道C中的strcpy()函数是用来复制字符串的库函数。先附上代码看看strcpy()函数的功能: 1 #include 2 #includestring.h> 3 #define MAX 20 4 5 int main(void)转载 2016-03-08 21:01:57 · 1977 阅读 · 1 评论 -
关于no rule to make target kernel/bounds.c错误的一种解决办法
今天例行进行内核编程时,在对自定义的模块进行编译时,出现了如下错误:各种纠结无果之后,从http://blog.sina.com.cn/s/blog_494725d60100y9x5.html找到了错误原因:进行编译的时候需要使用sudo -s 获取系统权限,使用sudo时便会引发上述错误。原创 2016-05-17 19:25:42 · 3911 阅读 · 0 评论