文章 2022-02-16 来自:开发者社区

linux中文件描述符fd和文件指针flip的理解

整理自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd(file descriptor)只是一个整数,在open时产生。起到一个索引的作用。每个进程在PCB(Process Control Block)即进程控制块中都保存着一份文件描述符表,文件描述符就是这个表的索引,文件描述表中每个表项都有一个指向已打.....

文章 2022-02-15 来自:开发者社区

linux驱动开发--字符设备:添加文件指针偏移的功能

设备移位操作llseek 对应lseek系统调用的设备移位操作为llseek 默认情况为允许设备移位操作 大部分字符设备提供的都是数据流而不是一个数据区,比如串口,对于这些设备而言移位操作毫无意义 设备可选择是否支持移位操作 支持设备移位操作loff_t (*llseek)(struct file *filp, loff_t off, int whence);filp:待操作的设备文件file结....

Linux Shell 编程

4 课时 |
2261 人已学 |
免费

Linux 运维自动化课程

4 课时 |
1566 人已学 |
免费

LINUX 企业常用服务

7 课时 |
3069 人已学 |
免费
开发者课程背景图
问答 2021-12-01 来自:开发者社区

linux系统安全中隐藏内核指针的代码是什么?

linux系统安全中隐藏内核指针的代码是什么?

文章 2018-03-10 来自:开发者社区

【linux+C】神器 vim + 指针相关客串

前篇回顾   上篇介绍了linux下C编程基本环境配置以及相关工具使用选择。   不过10个大牛9个用vim,那么咱们就来玩vim。linux下玩c就别依靠图形界面。好吧告别Ide,命令行才是c的王道。   本篇文章感谢名为孙鹤同学的技术支持 感谢有爱的c大牛们   本文中多处使用vim插件(孙鹤提供),这些插件大多是在http://www.vim.org/处下载。  指针客串   因为...

文章 2017-11-16 来自:开发者社区

linux编程 fmemopen函数打开一个内存流 使用FILE指针进行读写访问

fmemopen()函数打开一个内存流,使你可以读取或写入由buf指定的缓冲区。其返回FILE*fp就是打开的内存流,虽然仍使用FILE指针进行访问,但其实并没有底层文件(并没有磁盘上的实际文件,因为打开的内存流fp是在内存中的),所有的I/O都是通过在缓冲区与主存(就是内存)之间来回传送字节来完成的。  使用第三方库的时候,很可能遇到这样的问题,我们需要处理某个文件,而这个文件不一定是...

文章 2017-11-12 来自:开发者社区

【linux+C】通过几个实例温习指针

前篇回顾   上篇介绍一些vim相关的内容    作为新手,起初玩vim还是蛮痛苦的。不过慢慢尝到甜头后也很难放下了。本篇带一样很久没玩c的同学温故下指针。 step 1   直接上图了 这里我们定义一个二维数组int a[2][5] = {1,3,5,7,9,2,4,6,8,10}; 左边文件我们声明一个普通指针 将二维数组的内容填充进来 我们来看看运行的结果 结论我就不总结了 和大家的...

文章 2017-11-12 来自:开发者社区

指针的意义和linux的内存回收艺术

linux的内存回收机制设计得简直是一种艺术,精通c语言的不一定不会把c语言玩得导致内存泄漏,精通java的虽然再也不用玩指针了,那也不能完全相信java的内存回收机制,毕竟一个java程序出事了还有操作系统兜着呢。内存不好管理的罪魁祸首就是--指针。 指针这个概念是直接从汇编中引入的,它主要的目的除了汇编中的间接寻址之外还包括了动态内存管理,如果在语言级别没有指针的情况下,我们想操作某个变量的....

问答 2016-06-13 来自:开发者社区

linux fork 父子进程共享指针

int main (void) { int *p = malloc(sizeof(int)); *p = 0; printf("start main()\n"); int pid = fork(); if (pid == 0) { printf("i am child, my pid is %d\n", getpid()); printf("%d\n"...

文章 2015-09-21 来自:开发者社区

Linux 内核里的“智能指针”【转】

转自:http://blog.jobbole.com/88279/ 众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常。现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的Smart_ptr库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引....

文章 2013-08-28 来自:开发者社区

NULL指针引起的一个linux内核漏洞

NULL指针一般都是应用于有效性检测的,其实这里面有一个约定俗成的规则,就是说无效指针并不一定是 NULL,只是为了简单起见,规则约定只要指针无效了就将之设置为NULL,结果就是NULL这个指针被用来检测指针有效性,于是它就不能用作其它了,而实际上NULL就是0,代表了数值编号为0的一个内存地址,抛开那个约定,它和别的addr没有任何区别,简单的说,完全可以选择一个其它的地址作为指针有效性检测,....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Linux宝库