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

首页 / 操作系统 / Linux

C++ 友元关系详解

C++ 友元关系详解

在C++中,在某些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍然阻止一般的访问,这是很方便做到的。例如,被重载的操作符,如输入或输出操作符,经常需要访问类的私有数据成员。这些操作符不可能为类的成员。然而,尽管不是类的成员,它们仍是类的“接口的组成部分”。而友元机制,允许一个类将对其非公有成员的访问权授予指定的函数或类。友元的声明以关键字 friend 开始。它只能出现在类定义的内部。友元声明可以出现在类中的任何地方:友元...
Linux C编程实战之路

Linux C编程实战之路

由于C语言是进入Linux开发,尤其是Linux底层开发的必备技能,因此掌握C语言也成为很多想从事Linux相关开发工作的朋友的一道坎,C语言较之其他编程语言,特点是简洁高效,没有过多冗余鸡肋的概念,本博客打算用连载的方式,将Linux下的C语言编程所涉及的所有技术点一一剖析和展现,为了避免陷入教条式讲解的歧途,我将采用各个击破的方式,每一篇博客集中讨论关键点问题,让读者一目了然。打算用点时间将C语言梳理一下,分布在以下10个章节中:Linux-C成长之路...
深入剖析浮点存储及其运算规则

深入剖析浮点存储及其运算规则

对于浮点类型数据,首先我们需要明白的一点是:浮点数和整型数的编码方式是很不一样的,IEEE浮点标准采用V = (-1)s×M×2E的形式来表示一个数,其中符号s决定是负数(s=1)还是正数(s=0),由1位符号位表示。有效数M是一个二进制小数,它的范围在1~2-ε之间(当指数域E既不全为0也不全为1,即浮点数为规格化值时。ε为有效数M的精度误差,比如当有效数为23位时,ε为2-24),...
2014年腾讯实习生招聘笔试感受

2014年腾讯实习生招聘笔试感受

2014年腾讯实习生招聘考试安徽片区在科大举行,刚开始拿到试卷觉得试卷好长,题目好多。然后就开始做题,这次考试给我的感觉是腾讯的笔试题考察的范围很广,不仅有语言方面的考察,还有操作系统、计算机网络、数据结构、概率以及Mapreduce都考察了。给我的感觉还是操作系统考察的是最多的。都有:进程通信、内存管理等推荐阅读:百度2013校园招聘笔试题 http://www.linuxidc.com/Linux/2013-01/78272.htm百度2013校园招聘...
iOS 7 封堵漏洞 恶意充电器无法植入病毒!

iOS 7 封堵漏洞 恶意充电器无法植入病毒!

iOS 7 封堵漏洞 恶意充电器无法植入病毒!以下为文章全文: 上个月美国佐治亚理工学院网络安全专家研究发现,苹果的 USB 系统存在漏洞,用经过改装的特殊充电器,黑客可以在一分钟之内,将恶意程序植入到 iPhone 中。恶意软件的植入过程不需要手机用户做出互动,因此非常具有危险性,所有的 iPhone 用户都面临这一风险。 日前在拉斯维加斯举行的黑帽安全大会(Black Hat Convention)上,研究人员再次演示了这个漏洞,并说明了它的潜在风...
你可能没听过的 Java 8 中的 10 个新特性

你可能没听过的 Java 8 中的 10 个新特性

你以前听到的谈论关于Java8的所有都是围绕lambda表达式. 但它仅仅是Java8的一部分. Java 8 有许多新特性---一些强大的新类和语法, 还有其他的从一开始就应该具有的东西.我将要介绍我认为值得了解的10个精华特性. 它们中最少也会有一个或两个你想要试一试, 所以我们开始吧!--------------------------------------分割线 --------------------------------------Java...
新型攻击30秒内可从加密通信中提取机密信息

新型攻击30秒内可从加密通信中提取机密信息

HTTPS加密协议保护着世界上数百万计的网站,然而现在出现一种新型的攻击手段,可以让黑客从加密的页面中提取出邮件地址、某种类型的身份信息(credentials),这一过程通常只需短短的30秒。这项技术在周四的拉斯维加斯黑帽安全大会上得到了演示,在演示过程中黑客破解了网上银行和电子商务网站使用SSL和TLS协议加密的响应信息。整个攻击提取到了像社会安全号、邮件地址、安全token以及密码重置连接等特定的敏感数据。这种攻击方法对所有版本的TLS和SSL都有效...
使用epoll+时间堆实现高性能定时器

使用epoll+时间堆实现高性能定时器

在开发Linux网络程序时,通常需要维护多个定时器,如维护客户端心跳时间、检查多个数据包的超时重传等。如果采用Linux的SIGALARM信号实现,则会带来较大的系统开销,且不便于管理。本文在应用层实现了一个基于时间堆的高性能定时器,同时考虑到定时的粒度问题,由于通过alarm系统调用设置的SIGALARM信号只能以秒为单位触发,因此需要采用其它手段实现更细粒度的定时操作,当然,这里不考虑使用多线程+sleep的实现方法,理由性能太低。通常的做法还有采用基...
Linux通过改进的epoll实现对不同超时时间的数据包重传

Linux通过改进的epoll实现对不同超时时间的数据包重传

应用背景:epoll模型是当前Linux网络编程的主流模型,可以高效解决多个事件并发的问题。在进行网络编程时,往往要对每一个发出的数据包进行ACK确认,若在指定的时间内没有收到ACK,则需要重传或者丢弃该数据包。那么如果在epoll模型中实现该功能呢?先来看看传统的做法:程序维护一个“已发出但是没收到ACK”的数据包记录R,记录包括数据包内容、数据包发送的时间戳t以及超时时间T。当需要进行数据包发送时,在发出数据包的同时把该数据包加...
关于libevent的定时器

关于libevent的定时器

对于定时器事件,Libevent采用两种方法处理定时器:1、定时器尾队列2、时间堆在event结构体中,定义了联合体类型ev_timeout_pos来指明定时器的位置//仅用于定时事件处理器:当为通过定时器时,ev_next_with_common_timeout指向定时器队列中的位置//当为其它定时器时,min_heap_idx为指向时间堆中的索引union { TAILQ_ENTRY(event) ev_next_with_common_timeout...
<< 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 >>