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

首页 / 操作系统 / Linux

C++函数对象

C++函数对象

在学习C++的时候对这个函数对象还没什么感觉,但是在这次学习Boost.Thread的时候才发现,函数对象的重要性以及方便性。在传统的C线程中,会有一个void*参数用于给线程函数传递参数,但是Boost.Thread去是直接构造线程对象,除了一个函数名之外没有其它的参数,那么如果使用传统的方式(直接将函数名称传入)就只能执行无参数的函数了,所以这里使用了函数对象来实现参数的传递。(一)函数对象在来回顾一下什么是函数对象,就是一个重载"()"运算符的类的对...
QEMU net/pcnet.c缓冲区溢出漏洞(CVE-2015-7512)

QEMU net/pcnet.c缓冲区溢出漏洞(CVE-2015-7512)

QEMU net/pcnet.c缓冲区溢出漏洞(CVE-2015-7512)发布日期:2015-11-10更新日期:2015-12-02受影响系统:QEMU QEMU描述:CVE(CAN) ID: CVE-2015-7512QEMU是一款开源模拟器软件。启用了AMD PC-Net II Ethernet Controller的Qemu存在堆缓冲区溢出漏洞。在非回送模式中接收数据包,未能验证收到的数据大小,导致缓冲区溢出,在主机上执行任意代码。<*来源...
Boost笔记--Asio--(1)简单的同步通信小示例

Boost笔记--Asio--(1)简单的同步通信小示例

看了一天的Boost.Asio库的资料,现在还是有点迷糊。对于Asio的学习还是要继续,同时在这里也记录下自己入手的第一个小例子。感觉先从小例子入手,然后再去理解那些原理概念啥的,要好一些。因为概念原理都太抽象了,有了小例子就知道是怎么个套路了。对于Asio库的在后面的学习中会陆续的写些文章来记录一些笔记。(注:我不是专业的网络人士,有些东西可能我自己理解的很幼稚,没办法我连tcp/ip协议了解的很少。只能边学边去了解了。)(1)服务器端代码#includ...
QEMU pcnet_receive堆缓冲区溢出漏洞(CVE-2015-7504)

QEMU pcnet_receive堆缓冲区溢出漏洞(CVE-2015-7504)

QEMU pcnet_receive堆缓冲区溢出漏洞(CVE-2015-7504)发布日期:2015-11-10更新日期:2015-12-01受影响系统:QEMU QEMU描述:CVE(CAN) ID: CVE-2015-7504QEMU是一款开源模拟器软件。启用了AMD PC-Net II Ethernet Controller的Qemu存在堆缓冲区溢出漏洞。在回送模式中接收数据包,会将CRC代码附加到接收缓冲区,如果收到的数据大小等于接收缓冲区大小,则...
Boost--时间和日期--(1)timer库的介绍

Boost--时间和日期--(1)timer库的介绍

(一)timer库的简介 timer是一个很小的库,提供简单的时间度量和进度显示功能,也可用于性能测试等计时任务。timer库包含三个组件:计时器类timer、progress_timer和进度指示类progress_display。(二)timer类 timer类可以测量时间的流逝,是一个小型的计时器,提供毫秒级别的计时精度和操作函数。它位于boost命名空间下。使用时需要包含头文件: include <boost/timer.hpp>...
PCRE pcre_exec函数拒绝服务漏洞(CVE-2015-8380)

PCRE pcre_exec函数拒绝服务漏洞(CVE-2015-8380)

PCRE pcre_exec函数拒绝服务漏洞(CVE-2015-8380)发布日期:2015-12-01更新日期:2015-12-02受影响系统:PCRE PCRE < 8.36描述:CVE(CAN) ID: CVE-2015-8380PCRE是一个Perl库,包括 perl 兼容的正则表达式库。PCRE 8.38之前版本,pcre_exec.c的函数pcre_exec处理含1字符串的//模式时存在漏洞。通过构造的常规表达式,远程攻击者利用此漏洞可造...
Boost--内存管理--(1)智能指针

Boost--内存管理--(1)智能指针

(一)RAII机制 RAII机制(资源获取即初始化,Resource Acquisition Is Initialization),在使用资源的类的构造函数中申请资源,然后使用,最后在析构函数中释放资源。 如果对象实在创建在栈上(如局部对象),那么RAAII机制会工作正常,当对象生命周期结束时会调用其析构函数来释放资源。但是当对象是在堆上创建时(用new操作符),那么要想析构该对象内存就需要调用delete操作符了。这这方式存在隐患,当我们new了...
Qt共享内存实现进程间通信(QSharedMemory)

Qt共享内存实现进程间通信(QSharedMemory)

Qt提供了一种安全的共享内存的实现QSharedMemory,以便在多线程和多进程编程中安全的使用。 先说下实现共享内存的步骤,然后用一具体的实例说明。 (一)向共享内存中提供数据的一方: 1,定义QSharedMemory shareMemory,并设置标志名shareMemory.setKey(),例如shareMemory.setKey("shareimg"); 2,将共享内存与主进程分离shareMemory.detach(); 3,创建...
编译Android源码致命错误解决方案

编译Android源码致命错误解决方案

相信各位和我一样正在研究Android内核的朋友们在经过漫长的源码下载的等待后,喜悦的拿到了源代码开始编译。可是在编译过程中,也会和下载一样出现各种各样的不顺。在这里我记录了一下本人在编译过程中的所有问题,如有疏漏,欢迎朋友们指出。下面是按照正常编译流程记录的所需步骤和操作,可能遇到的问题会在后面讲述。步骤一:初始化编译环境首先进入android源码所在目录,然后在Linux终端执行以下命令来完成编译初始化:# source build/envsetup....
使用Android studio分析内存泄露

使用Android studio分析内存泄露

截至Android Studio 1.3为止,其内部的MemoryDump功能都很难使用,还是使用MAT更佳。Android使用java作为平台开发,帮助了我们解决了很多底层问题,比如内存管理,平台依赖等等。然而,我们也经常遇到OutOfMemoey问题,垃圾回收到底去哪了?接下来是一个Handler Leak的例子,它一般会在编译器中被警告提示。所需要的工具Android Studio 1.1 or higherEclipse MemoryAnalyze...
中兴华为广达正文路由器/猫发现0day漏洞

中兴华为广达正文路由器/猫发现0day漏洞

安全研究人员在中兴、华为、广达和正文科技生产的2款路由器和6款调制解调器产品中发现了大量0day漏洞,允许攻击者对设备及其用户发动不同类型的攻击。研究人员探测到的漏洞包括了远程代码执行、固件完整性攻击、跨站请求伪造和跨站脚本。这些漏洞允许攻击者拦截HTTP和HTTPS流量,拦截短信,探测调制解调器的地理位置,感染用户的电脑。这些漏洞已经报告给了厂商,但6个月后漏洞还没有被修复。...
使用 Auto Layout 之后什么时候才能获得正确的 frame?

使用 Auto Layout 之后什么时候才能获得正确的 frame?

使用过 Auto Layout 的人肯定都遇到过获取不到真实 frame 的情况,而大部分人经过简单搜索都能得到一个满意的解决方案:在想获取真实 frame 之前调用一下 self.view.layoutIfNeeded(),这是一个能用但是并不好的方法:进行了额外的毫不需要的 frame 计算。我们从 View Controller 的生命周期来分析这个问题:viewDidLoadviewWillAppearviewWillLayoutSubviewsv...
AngularJS 应用单元测试起步

AngularJS 应用单元测试起步

AngularJS 很重视测试,所以提供了很多特性使得编写测试变得更容易。AngularJS 应用的单元测试与普通的 JavaScript 应用测试有些不同。AngularJS 应用是以 module(模块)为单位来组织应用,将不同的功能放进各自的模块。测试可以从整个应用级别,或者从特定的模块开始。正是由于测试可以从模块开始,在测试的时候需要指定引用的模块。AngularJS 应用在启动的时候,会寻找 ng-app 指定的模块,而后创建一个 $rootSc...
<< 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 >>