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

首页 / 操作系统 / Linux

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...
使用 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...
【图论】有向无环图的拓扑排序

【图论】有向无环图的拓扑排序

1. 引言有向无环图(Directed Acyclic Graph, DAG)是有向图的一种,字面意思的理解就是图中没有环。常常被用来表示事件之间的驱动依赖关系,管理任务之间的调度。拓扑排序是对DAG的顶点进行排序,使得对每一条有向边(u, v),均有u(在排序记录中)比v先出现。亦可理解为对某点v而言,只有当v的所有源点均出现了,v才能出现。下图给出有向无环图的拓扑排序:下图给出的顶点排序不是拓扑排序,因为顶点D的邻接点E比其先出现:2. 算法原理与实现...
Java enum(枚举)的使用

Java enum(枚举)的使用

在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中,在上面的这种情况下,enum就能派上用场了。枚举...
Python 变量类型

Python 变量类型

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 等号(=)用来给变量赋值。...
Android Scroller与computeScroll的调用机制关系

Android Scroller与computeScroll的调用机制关系

Android ViewGroup中的Scroller与computeScroll的有什么关系?答:没有直接的关系知道了答案,是不是意味着下文就没必要看了,如果说对ViewGroup自定义控件不感兴趣,可以不用看了。1.Scroller到底是什么?答:Scroller只是个计算器,提供插值计算,让滚动过程具有动画属性,但它并不是UI,也不是辅助UI滑动,反而是单纯地为滑动提供计算。无论从构造方法还是其他方法,以及Scroller的属性可知,其并不会持有Vi...
Android子线程真的不能更新UI么

Android子线程真的不能更新UI么

Android单线程模型是这样描述的:Android UI操作并不是线程安全的,并且这些操作必须在UI线程执行 如果在其它线程访问UI线程,Android提供了以下的方式:Activity.runOnUiThread(Runnable)View.post(Runnable)View.postDelayed(Runnable, long)Handler 为什么呢?在子线程中就不能操作UI么? 当一个程序第一次启动的时候,Android会同时启动一个对应...
浅析Java异常

浅析Java异常

1、什么是异常结构不佳的代码不能运行,这是Java的基本理念。发现错误的理想时机是在编译期。然而,编译器并不能发现所有的错误,余下的问题就需要在程序运行时解决。这就需要错误能通过某种方式,把适当的信息传递给特定的接收者处理。Java中的异常处理的目的在于通过使用少量的代码来简化大型、可靠的程序的生成,通过此方式让你的应用中没有未处理的错误,而且它还带来了一个明显的好处:降低错误处理代码的复杂度。异常,根据字面理解,有意外之意。把它置于代码层面来理解,即阻止...
编译Android系统源码和内核源码

编译Android系统源码和内核源码

把我之前编译Android系统源码和内核源码的过程记录一下,因为这个过程真的是受益匪浅,看重的不是结果,主要是过程,在这个过程中,我感觉最大的收获就是学习的耐心和毅力,因为在这个过程中那个问题就像是雨点似的天天打在你的脸上,虽然现在网上有很多文章介绍怎么去操作,但是我说句真心话,那些只能提供参考,因为你的工作环境毕竟和他不一样,所以等你按照他的步骤去操作的时候还是会遇到很多问题,当然我写这篇文章也不是说我的方法就是一定可以的,我只能说我是成功了,所以我只是...
什么时候应该使用 Angular 2

什么时候应该使用 Angular 2

人们常常会问--“我应该在我的新项目中要使用 Angular 2吗?”假使该项目不需要被准备好几个月?假使它是一个小项目,或者一个概念验证?可能你已经在家中正在玩弄Angular 2,但是在工作中你坚持使用1.x。在某一时刻,它从“我应该?”到“为什么我不能?”--嘿,你想玩新花样!清洁组件架构,加速性能,以及伴随 ES6 或者 TypeScript的一切好东西。啊,太妙啦。如何决定遵...
Objective-C中runtime机制的应用

Objective-C中runtime机制的应用

一、初识runtimeObjective-C是一种动态语言,所谓动态语言,是在程序执行时动态的确定变量类型,执行变量类型对应的方法的。因此,在Object-C中常用字符串映射类的技巧来动态创建类对象。因为OC的动态语言特性,我们可以通过一些手段,在程序运行时动态的更改对象的变量甚至方法,这就是我们所说的runtime机制。二、你还有什么办法操作这样的变量么?首先,我们先来看一个例子,这里有我创建的一个MyObject类://.h==============...
<< 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 >>