Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

C语言中通过函数指针实现函数重载

C语言中通过函数指针实现函数重载

我们都知道重载是c++面向对象的特性。c语言中是不存在的。所谓重载简单来说就是一个函数名可以实现不同的功能,要么输入参数不同或者参数个数不同,要么返回类型不同。例如函数add(),在c++中可以轻易实现int,double等不同类型参数的相加功能,而在c语言中却不能这样实现。c语言中实现重载功能,或者准确来说是类似重载的功能,可以通过函数指针的方式来实现。下面为演示代码:typedef struct _int_param { int param1; int...
正则表达式30分钟入门教程

正则表达式30分钟入门教程

正则表达式30分钟入门教程目录本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 网上的资源及本文参考文献 更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你...
C语言中变长数组引发的思考

C语言中变长数组引发的思考

看到老师写的一个结构体很好奇,结构体的最后是一个长度为0的数组,当时感觉老师是不是写错了,这样写意义何在呢?都没有分配空间,貌似没有存在的意义。后来网上查了一下,其实这是在很多高级的东东里面都用到的东西,linux kernel, MFC, openoffice, 估计更多的地方都用到了。先说说我的理解:struct example{ __u16 tag_type; __u16 tag_len; char tag_data[0];} __attribute...
Python的Set和List的性能比较 + 两者之间的转换

Python的Set和List的性能比较 + 两者之间的转换

在Twitter上看到日本友人@IanMLewis的一条推,测试了下python中Set和List的性能差距,真是不测不知道一测吓一跳,差距能有数百倍 –!他的原文地址在这里:Pythonのセットがすごい。翻译成中文如下:本来是知道在Python中使用Set是比较高效,但是没想到竟然有这么大的差距:~$ python -m timeit -n 1000 "[x for x in range(1000) if x in range(500, 1500)]" ...
Linux用户安全意识缺乏导致僵尸病毒大传播

Linux用户安全意识缺乏导致僵尸病毒大传播

互联网安全企业赛门铁克公司(Symantec)提供的服务调查研究报告揭示,企业用户对 Linux邮件服务器安全意识的缺乏为“僵尸病毒”的传播大开便利之门,并使得众多运行Linux操作系统的用户遭受“僵尸病毒”感染。赛门铁克 公司情报实验室提供的月度信息报告表明,在发送恶意垃圾信息邮件的个人电脑中,基于Linux操作系统的个人电脑数量是基于Windows操作系统下个人 电脑数量的五倍。赛门铁克托管服务部门恶意软件数据分析师麦特·尼斯贝特(Mat Nisbet...
Linux 设备驱动轮询编程

Linux 设备驱动轮询编程

Linux系统下网络模型数select最为常用,当然,select只是检测文件系统数据状态,并不只局限于网络编程,select的功能需要底层驱动提供支持,其中核心应用即为等待队列,其他模型,如poll和epoll,对驱动来说并无区别,驱动只是返回数据状态而已。驱动支持select,需要实现file_operations结构中的poll函数指针,其实现也非常简单,只是poll_wait函数的调用,原型如下:unsigned int (*poll) (stru...
Linux 内核等待队列解析

Linux 内核等待队列解析

在阅读Tun驱动时看到,有一些类似 add_wait_queue 的函数,这些函数正是执行等待队列的相关操作,要说等待队列还得从内核进程调度说起,内核调度系统内进程,分配时间片,但是有些进程如从网卡中读数据,在网卡有数据到达之前进程处于阻塞状态,如果此时给相应进程分配时间片做调度,无疑是浪费系统资源,所以系统内每个进程都有自己的状态标志 task->state,这些状态定义于文件 include/linux/sched.h#define TASK_R...
<< 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 >>