自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 资源 (13)
  • 收藏
  • 关注

原创 OPENGL镜面反射练习

#include <glad\glad.h>#include <GLFW\glfw3.h>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <glm/gtc/type_ptr.hpp>#include "Shader.h"#inclu...

2018-03-28 18:31:35 538

原创 OPENGL光照漫反射练习

#include <glad\glad.h>#include <GLFW\glfw3.h>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include <glm/gtc/type_ptr.hpp>#include "Shader.h"#inclu...

2018-03-27 18:56:18 623

原创 OPENGL添加摄像机功能练习

#define STB_IMAGE_IMPLEMENTATION#include "stb_image.h"#include <glad\glad.h>#include <GLFW\glfw3.h>#include <iostream>#include <glm/glm.hpp>#include <glm/gtc/matrix...

2018-03-16 17:17:36 700

原创 OPENGL绘制3D立方体练习

#define STB_IMAGE_IMPLEMENTATION#include "stb_image.h"#include <glad\glad.h>#include <GLFW\glfw3.h>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include ...

2018-03-14 16:01:40 2740 1

原创 OPENGL矩阵变换练习

#define STB_IMAGE_IMPLEMENTATION#include "stb_image.h"#include <glad\glad.h>#include <GLFW\glfw3.h>#include <glm/glm.hpp>#include <glm/gtc/matrix_transform.hpp>#include ...

2018-03-14 13:28:09 363

原创 OPENGL 纹理练习

#define STB_IMAGE_IMPLEMENTATION#include "stb_image.h"#include <glad\glad.h>#include <GLFW\glfw3.h>#include <iostream>const unsigned int WINDOW_WIDTH = 800;const unsigned int ...

2018-03-12 16:56:08 310

原创 OPENGL 着色器多属性练习

#include <glad\glad.h>#include <GLFW\glfw3.h>#include <iostream>const unsigned int WINDOW_WIDTH = 800;const unsigned int WINDOW_HEIGHT = 600;void framebuffer_size_callback(GLF...

2018-03-09 16:50:12 227

原创 OPENGL着色器Uniform练习

跟上一篇的不同是对uniform全局属性的理解#include <glad\glad.h>#include <GLFW/glfw3.h>#include <iostream>#include <cmath>const unsigned int SCR_WIDTH = 800;const unsigned int SCR_HEIGHT = ...

2018-03-08 19:01:27 517

原创 OPENGL 着色器练习

#include <glad\glad.h>#include <GLFW/glfw3.h>#include <iostream>const int WINDOW_WIDTH = 800;const int WINDOW_HEIGHT = 600;//顶点着色器const char* vertexShaderSource = "#version ...

2018-03-08 15:26:26 323

原创 Android 通过uinput模拟touch事件发出onActionDown onActionUp onActionMove

手机中的屏幕触摸事件是通过驱动将事件上报到/dev/input设备上,然后被input模块读取发送到APP     如果我没有物理的屏幕但我想发出触摸事件怎么办?通过Linux的uinput模块就可以不需要写驱动代码就能模拟一块触摸屏,当然我们也可以模拟出虚拟鼠标和键盘     本文讨论的是模拟触摸屏,鼠标和键盘比较easy            前提准备:getevent命令使用      1通

2018-01-18 13:21:59 5997 11

原创 Linux inotify + Epoll实现机制

首先学习Inotify机制,就是Linux系统下对文件目录的监听,如果目录下有文件创建删除都可以被监听到,那这个有什么作用呢?在Android Input系统中可以实现对设备热插拔的监听。我们先看一个简单的Demo  #include #include #include #include #include #include #include #include

2018-01-05 15:49:49 2167

原创 Android深入分析NativeMessageQueue和Looper.cpp(Native层消息机制)

继续上一篇分析的Android Framework Java层的MessageQueue和Looper,我们这篇要看的是Native层的实现原理、   提前准备的知识点是Linux里面的Epoll机制   涉及到的代码目录  /frameworks/base/core/jni/android_os_MessageQueue.h  /frameworks/base/core/

2017-12-21 18:46:13 1972

原创 Android深入分析MessageQueue和Looper(FrameWork JAVA部分)

Android深入分析MessageQueue和Looper(FrameWork JAVA部分)

2017-12-21 09:29:22 458

原创 Android C++ 共享内存MemoryHeapBase实现IPC进程通信实际案列

Android C++ 共享内存MemoryHeapBase实现IPC进程通信实际案列,SensorService

2017-12-14 15:40:23 1959

原创 Android C++ 实现SensorEventListener

C++去封装动态库实现SensorEventListener

2017-12-04 18:45:16 1173

原创 POCO库Foundation之SharedPtr学习

POCO库说白了就是大牛写的一套C++工具集支持跨平台,里面包含了NET,XML,Thread各种模块,开设这个专栏就是记录我一点一滴的去学习POCO里面的代码设计

2017-10-31 10:01:27 1271

原创 Android C++ Socket请求XMl,TinyXml解析文件,JNI返回数据给JAVA层

这个需求的环境是Android FWK层之前用HttpUrlConnection请求了系统配置Xml文件,现在需要Native化,然后需要用C++ Socket封装Http协议请求XML数据,然后将XML解析成Model然后通过JNI返回给上层的流程     简单看一下上层调用接口就知道下面要干什么了    mButton.setOnClickListener(new View.O

2017-10-27 10:19:00 906

原创 Android SurfaceFligner Vsync信号 Jni/C++调用实现

在Anroid Vsync信号是用来通知APP进行渲染的,分为两种硬件Vsync和软件Vsync信号。我们这边不做详细介绍,这边是如何通过C++去拿到Vsync信号   首先来看上层提供的操作接口#include "LibLoader.h"#include LibLoader::LibLoader() { // TODO Auto-generated constr

2017-09-29 17:32:17 752

原创 Android Sensor从FWK到HAL至Driver纵线分析处理

VR ROM要在HAL层兼容MPU6500芯片的Sensor模块借此机会从FWK到HAL 到Driver分析了Sensor模块    首先看APP--》HAL     1:底层数据如何实时上报给APP?       2:SensorService怎么跟HAL交互?     3:SensorEventListener本质是什么    下面是我的结论:

2017-08-07 18:43:41 4413

原创 Android FrameWork深入分析DreamManagerService实现自己的系统屏保

Framework分析DreamService,实现自己的系统屏保现在有一个需求是在手机一段时间不用的情况下,显示自己的系统屏保功能 下面是涉及到的代码/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java 显示屏保功能的入口/frameworks/base/services/c

2017-07-03 18:23:00 7815 11

原创 《Boost程序完全开发》跟踪学习训练一:Boost::date_time库的使用

主要是记录个人如何按照Boost程序完全开发一书去学习入门Boost库书中第一个是date_time库首先我们看一下怎么去用#include #include #include #include "mytimer.h"using namespace boost;void main1(){ boost::timer t; std::cout<< "max span" <

2017-06-05 23:20:07 546

原创 Android解析自定义属性的XML实现底部导航栏TabSelectedView,实现灵活的配置扩展

Android解析自定义属性的XML实现底部导航栏TabSelectedView,实现灵活的配置扩展

2017-06-05 15:45:13 1258

原创 C++模板实现list,迭代器

这篇博文主要是帮助去了解STL List与迭代器 算法实现的原理让我们更明白STL容器的封装 迭代器与智能指针的关系  算法的封装我们主要是通过链表的实现下面看一下模板实现紫的链表节点元素的封装:#pragma oncetemplate class Node{public: T data; Node* next; Node(); ~Node();

2017-05-16 17:58:05 746

原创 C++ Boost signal2信号/插槽知识点

signals2基于Boost的另一个库signals,实现了线程安全的观察者模式。在signals2中,观察者模式被称为信号/插槽(signals and slots),它是一种函数回调机制,一个信号关联了多个插槽,当信号发出时,所有关联它的插槽都会被调用。下面就通过小案列来实现signal的使用#include #include #include #include u

2017-05-14 12:39:13 9161

原创 C++ std::move原理&右值引用存在的必要性

在学习C++的过程中一直搞不懂为什么要存在右值引用,将左值引用变为右值引用个人认为就是减少拷贝构造,赋值重载过程内存开辟拷贝的次数,提高速度我们现在看一段代码:#include #include using namespace std;class Student{ friend class Teacher;private: char * pStart

2017-05-10 22:43:43 1832 2

原创 C++ 智能指针shared_ptr模板实现原理

C++ 智能指针shared_ptr通过引用计数来管理指向的对象,不需要人工释放这篇博文主要是讲解了智能指针的实现原理,怎么实现引用计数#include using namespace std;namespace shao_smart_point{ //智能指针内部引用计数类实现 class smart_cout{ private: int use_count; pu

2017-05-07 15:07:43 1147

原创 C++类模板中使用异常知识点

这一篇主要记录了类模板中使用异常类的知识点类模板中使用异常类的时候,异常类同样可以进行模板化下面通过这个小案例来明白这个知识点#include #include using namespace std;class Error :public exception{};template class Myerror{public: void showError()

2017-05-06 17:01:03 1164

原创 C++ Boost::bind函数包装器使用,boost::bind与伪函数的绑定使用

在我们使用stl的 一些算法的时候,比如find_if,for_each等,需要使用仿函数,如果仿函数有2个参数,但是算法需要一个一元的仿函数的时候,我们可以使用适配器,boost库中boost::bind就帮助我们定义了函数适配器       下面主要讲了boost::bind如何适配函数,成员函数,Lambada函数,伪函数        #include #include #in

2017-04-25 22:43:53 5849

原创 C++类模板与函数模板 & 类模板继承

函数模板与类模板其实就是Java里面的泛型编程,只作为抽象的模板,使用时需要指定具体的类型才能实例下面就看类模板最典型的案列就能明白了:#include #include #include using namespace std;//类模板templateclass Myarray{public: T* p; Myarray(const initializer_l

2017-04-13 11:39:22 1720

原创 DownloadManager升级APK并且进度显示

Android sdk version 9以上就有DownloadManager下面就是我如何使用DownloadManagerpackage com.qq.beamzhang.mt.lib.service;import android.app.DownloadManager;import android.app.Service;import android.content

2017-04-11 13:55:58 2005

原创 C++函数副本机制研究&函数返回值与拷贝构造的浅拷贝和深拷贝的关系

C++函数的副本机制到底是怎么一回事呢?我们可以先从函数返回是Void类型,指针类型,引用类型逐渐过度到返回值是类型对象引起的副本机制首先通过函数返回值是Void类型的研究#define _CRT_SECURE_NO_WARNINGS#include using namespace std;class MyString{public: char* pstr; in

2017-04-07 11:51:55 1731

原创 C++拷贝构造函数的深拷贝与浅拷贝知识点

#define _CRT_SECURE_NO_DEPRECATE#include using namespace std;class MyString{public: char* pstr; int length; MyString(const char* str){ this->length = strlen(str) + 1; this->pstr = new

2017-04-01 11:43:56 606

原创 C++类成员函数指针,二级类成员函数指针知识点

C++类成员函数指针,二级类成员函数指针知识点

2017-04-01 10:36:53 382

原创 C++ allocators将构造函数,析构函数与分配内存解耦

allocators分配器的作用就是将分配内存与构造函数,析构函数脱离,提高运行效率减少成本。new和delete操作符把内存空间的分配回收与对象的构建销毁紧紧关联在一起。#include #include #include using namespace std;class Student{private: int a;public: Student(){ cou

2017-03-26 21:48:41 1247

原创 C++ forward_list,Vertor,Initializer_list用法知识点

C++ forward_list,Vertor,Initializer_list用法知识点

2017-03-22 13:50:57 509

原创 C++数据类型转换知识点

#include using namespace std;class Father{public : int time; virtual void run(){ cout<< "Fatner is running" <<endl; }};class Son : public Father{public: void run(){ cout << "Son i

2017-03-19 13:02:06 411

原创 C++函数包装器与引用包装器,函数绑定器的使用

C++函数包装器与引用包装器的使用

2017-03-16 15:03:52 1958

原创 C++ new delete new[] delete[]重载实现

C++ new delete new[] delete[]重载实现

2017-03-07 11:23:59 1181

原创 C++引用数组,函数指针,函数指针数组,结构体数组等学习

这篇博文主要介绍了如何在C++11  VS2013编译器上去实现各种引用,避免因为编译器不同造成的语法困难1:引用数组,二维数组 ,数组指针#include using namespace std;void main1(){ /*int a[3]{1,2,3}; int aa[2][3]{1,2,3,4,5,6}; int*pa(new int[3]{1,2,3});

2017-01-24 15:26:54 1073

原创 Android自定义View贝塞尔曲线最佳实现

二阶贝塞尔曲线绘制实现

2017-01-18 13:55:57 975

OpenCV3编程入门_毛星云编著_电子工业出版.pdf

OpenCV3编程入门_毛星云编著_电子工业出版.pdf 必须保证完整章节

2017-09-29

OpenGL开发环境依赖 C/C++

OpenGL开发环境依赖glew-2.0.0-win32,glm-0.9.8.3,SDL2-devel-2.0.5-VC

2017-06-25

《c++标准库》

《c++标准库》第一版 和 第二版 pdf以及 书中的实例代码

2017-06-04

ace技术内幕实例代码

ace技术内幕实例代码

2017-06-04

C++ Boost ASIO实例代码

C++ Boost ASIO实例代码

2017-06-04

C++帮助文档cpluscplus.chm查看各种API,英文专业版

C++11 标准库帮助文档查看各种API,英文版

2017-04-25

GIf动态制作

制作gif动态图没有病毒

2016-12-15

Qt初级学习数据库连接界面绘制

Qt初级的代码主要包括数据库查询连接等界面操作

2016-03-06

严蔚敏数据结构代码实现(C语言

严蔚敏数据结构代码实现(C语言)完整的代码让你快速学习

2015-07-12

数据结构模拟器

数据结构模拟器:学习数据结构的利器。。。

2015-07-12

最强大的Asp.Net图书销售系统源代码保证不坑

这个代码包括了图书销售系统的全部功能:登陆,前后台管理,图书信息的增删改查,第三方支付,购物车等,让你学会asp.net的三层架构b/s开发等等技术点

2015-07-11

360手机安全卫士源码 实现自己的Android手机卫士

360手机安全卫士源码 实现自己的Android手机卫士包括手机防盗,病毒查杀,软件管理,高级设置,流量监控等9大功能模块

2015-07-11

解决eclipse中查看android工程代码出现android.jar has no source attachment

解决eclipse中查看android工程代码出现android.jar has no source attachment

2015-07-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除