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

首页 / 操作系统 / Linux

C++11 内存模型详解(续)

C++11 内存模型详解(续)

可见性与乱序在说到内存模型相关的东西时,我们常常会说到两个名词:乱序与可见性,且两者经常交错着使用,容易给人错觉仿佛是两个不同的东西,其实不是这样,他们只是从不同的角度来描述一个事情,本质是相同的。比如说,我们有如下代码:atomic<int> g_payLoad = {0};atomic<int> g_guard = {0};// thread 0void foo1(){g_payLoad.store(42, memory_ord...
C++ 模板元编程学习心得体会

C++ 模板元编程学习心得体会

快速翻了一遍传说中的、大名鼎鼎的 modern c++ design,钛合金狗眼顿时不保,已深深被其中各种模板奇技淫巧伤了身。。。论语言方面的深度,我看过的 c++ 书里大概只有 insight c++ object model 能与之一战吧?难怪 Herb 老喜欢调侃 Andrei 在模板方面是个可怕的家伙,就从这本书的质量来看,Andrei 当之无愧。c++ 模板元编程的力量远比第一眼印象里所能想像得要强大,当然,这个结论并不明显,很多时候人们也就拿模...
C# 6.0 的新特性

C# 6.0 的新特性

本文的内容包括引入C#6.0中的新的语言特性有哪些. 还有已经被引入的代码名称为 “Roslyn”新编译器. 编译器是开放源码的,并且可以从 codeplex 网站的这个地址下载到源代码:https://roslyn.codeplex.com/.C# 6.0 中的新特性我们可以对这些新特性一个一个的进行讨论,而首先要列出 C# 6.0 中这些特性的一个清单自动的属性初始化器 Auto Property Initializer主构造器...
C++程序内存泄漏检测方法

C++程序内存泄漏检测方法

一、前言在Linux平台上有valgrind可以非常方便的帮助我们定位内存泄漏,因为Linux在开发领域的使用场景大多是跑服务器,再加上它的开源属性,相对而言,处理问题容易形成“统一”的标准。而在Windows平台,服务器和客户端开发人员惯用的调试方法有很大不同。下面结合我的实际经验,整理下常见定位内存泄漏的方法。注意:我们的分析前提是Release版本,因为在Debug环境下,通过VLD这个库或者CRT库本身的内存泄漏检测函数能够...
Android Native jni 编程入门

Android Native jni 编程入门

在某些情况下,Java编程已经不能满足我们的需要,比如一个复杂的算法处理,这时候就需要用到jni(java native interface)技术;jni 其实就是java和c/cpp之间进行通信的一个接口规范,java可以调用c/cpp里面的函数,同样,c/cpp也可以调用java类的方法;jni开发工具ndk的安装:在最新的ndk版本中,安装ndk很简单,只需要装ndk的路径配置到系统环境变量中即可;在编译的时候,进入工程根目录;执行命令 ndk-bu...
Java命令模式(Command模式)

Java命令模式(Command模式)

Command模式是最让我疑惑的一个模式,我在阅读了很多代码后,才感觉隐约掌握其大概原理,我认为理解设计模式最主要是掌握起原理构造,这样才对自己实际编程有指导作用。Command模式实际上不是个很具体,规定很多的模式,正是这个灵活性,让人有些confuse。Command定义不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作。将这些命令封装成在一个类中,然后用户(调用者)再对这个类进行操...
Android 使用NDK编译sipdroid Library

Android 使用NDK编译sipdroid Library

sipdroid是一款开源的运行于Android平台上的voip,目前支持音频和视频通话;项目拖管地址:http://code.google.com/p/sipdroid/下载源代码,导入eclipse的时候会有一些小错误,但都比较容易更改,这些就不再重复;在命令行窗口下进行项目所在文件下,执行ndk-build命令(如果没有添加ndk到系统环境变量需要先进行配置);C:UserszyDesktopAndroid SipDroid>ndk-build...
Android 开机自动运行和添加删除桌面快捷方式

Android 开机自动运行和添加删除桌面快捷方式

<一>开机自启动当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动之即可。我们要做的是做好接收这个消息的准备,而实现的手段就是实现一个BroadcastReceiver。1.首先定义一个BroadcastReceiver,覆写其onReceive(...
Android Touch消息传递机制探究分析

Android Touch消息传递机制探究分析

在Android中,消息的传递控制主要是通过两个方法共同配合使用来对用户的触摸消息进行分发的,下面就来看看这两个方法;onInterceptTouchEvent:此方法定义于ViewGroup中,顾名思义,这个方法是用于ViewGroup拦截(intercept)触摸消息的;onTouchEvent:此方法定义于View中,用于处理用户的触摸事件;下面来看这两个方法的定义原型;public boolean onInterceptTouchEvent(Mot...
Android working with Volley 详解

Android working with Volley 详解

Volley是google官方推出的一个开源网络访问库,在项目中直接使用它,而不需要写一大堆的重复的代码;项目主页:https://android.googlesource.com/platform/frameworks/volleyVolley中一个重要的类就是RequestQueue,不用多说,只看命名就知道它是一个请求队列,用于存放我们添加进去的网络请求;我们可以通过Volley.newRequestQueue(Context context);获取...
SLF4J教程

SLF4J教程

SLF4J只是一个门面(facet),它不包含具体的实现,而是将一些log4j,java.logging等实现包装成统一的接口。借用下图展示了常用日志文件的关系: 通过上面的图,可以简单的理清关系! commons-logging和slf4j都是日志的接口,供用户使用,而没有提供实现! log4j,logback等等才是日志的真正实现。 当我们调用接口时,接口的工厂会自动寻找恰当的实现,返回一个实现的实例给我服务。这些过程都是透明化的,用户不需要进...
Python基础教程 - global关键字及全局变量的用法

Python基础教程 - global关键字及全局变量的用法

Python中global关键字主要作用是声明变量的作用域。在C语言中,由于变量一定是先声明,后使用,所以我们可以清楚的知道,现在使用的变量是全局还是局部,比如:int a = 5;void test(void){ a = 1; // 没有先声明,所以用的是全局的变量a}void test1(void){ int a; a = 2; // 前面声明了,所以用的是局部变量a,对其所做的修改不会影响全局变量a}void main(void){ prin...
Python基础教程 - lambda关键字

Python基础教程 - lambda关键字

Python中的lambda关键字可以理解为:其功能类似于函数指针。lambda的官方翻译是匿名函数,这是相对与正常的函数来说的,举例说明:定义一个正常的函数,实现增1运算:def plus1(x): return x+1上面的语句实现了:1. 定义了一个函数,函数名叫:plus12. 此函数有一个参数对应的匿名函数语句写作:lambda x:x+1注意,这是一个表达式,所以他实际上是做不了任何事情的。。。那么我们如果想调用函数来实现增1运算,分别用正常...
OpenCV_cvFindCornerSubPix()查找亚像素级角点

OpenCV_cvFindCornerSubPix()查找亚像素级角点

如果我们进行图像处理的目的不是用于识别特征点而是进行稽核测量,则通常需要更高的精度,而cvGoodFeatureToTrack()只能提供简单的像素坐标值,但有时候我们会需要实际坐标值而不是证书坐标值,例如,我们想要确定图形中一个尖锐的峰值点的位置,但是峰值点的位置一般都不会位于一个像素点的正中心,,这时候就可以使用亚像素检测方法。亚像素级角点的位置在摄像机标定、跟踪并重建摄像机的轨迹或者重建被跟踪目标的三维结构时就是一个基本的测量值。通过cvGoodFe...
OpenCV目标跟踪_cvGoodFeaturesToTrack()寻找角点

OpenCV目标跟踪_cvGoodFeaturesToTrack()寻找角点

在OpenCv中提供了两种实现目标跟踪的关键算法,LK算法和HS算法,也就是通常所说的稀疏光流和稠密光流。寻找角点角点,其实也就是一幅图像中,容易被跟踪的特征点,通常来说,这个点在两个正交方向上都有明显的倒数,该点在图像中我们认为是独一无二的。 从直观上讲,角点是一类有足够信息并且能够从当前帧和下一帧都能提取出来的点。关于角点的定义,是由Harris提出的,其基础是图像灰度强度的二阶导数矩阵 。该定义的角点位于图像二阶导数的自相关矩阵中有两个最大特征值的地...
Java关键字final使用详解

Java关键字final使用详解

根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方法。注意:父类的priv...
<< 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 >>