自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 anroid OpenGL ES之 向shader传递数据

void glUseProgram( int program );glUseProgram()真正载入着色器程序到我们的程序中在这之后我们就可以向shader中传递数据了int glGetAttribLocation( int program, String name );向shader中的Attribute变量或者Uniform变量传递数据,首先要知道其在内存中的位置。glGetAttribLoc

2015-08-26 09:44:32 2769

原创 android OpenGL ES开发之shader

shader是OpenGL ES中重要内容。shader程序是运行在GPU上的程序,是用GLSL语言编写的程序。 顶点着色器 顶点可以理解为组成物体的每一个点。 对于发送给GPU的每一个Vertex(顶点),都要执行一次Vertex Shader。 输入数据有: Attributes:使用顶点数组封装每个顶点的数据,一般用于每个顶点都各不相同的变量,如顶点位置、颜色等。

2015-08-21 09:10:18 4932

原创 C语言确定int short long的最大值

我们知道C语言中的int short long等类型,不像Java一样具体规定了范围大小,32位系统和64位系统不同,那我们在开发时该怎么确定这些类型的最大值呢?1、只需一小句代码,如下: ```printf("%d\n", ~(unsigned int)0 / 2);```分析:当无符号0以二进制储存在内存中的时候,每一位都为0,以32位int为例,(unsigned int)0的二进制为:

2015-08-21 09:06:13 7046 1

原创 android OpenGL ES开发之前世今生

在介绍OpenGL ES之前,先介绍一下OpenGL。总的来说,OpenGL之于GPU,就想操作系统之于CPU。这句话,又有些不准确,因为操作系统不只控制CPU这一个硬件。OpenGL把图像数据和几何数据发给图形硬件,再经过一系列的处理

2015-08-20 16:44:59 1390

原创 C语言速度优化之指针赋值与if判断

最近在写的一个项目需要优化处理速度,我写了一下程序来测试指针赋值与指针判断的速度比较。结果让我大吃一惊。#include <stdio.h>#include <stdlib.h>#include <time.h> int main(int argc, char *argv[]) { int j; int * tmp; clock_t start = clock();

2015-08-19 21:53:04 3542

原创 速记const 指针与指向const的指针

这两种情况很难分清,你只需注意在const后面的是\*符号还是变量,\*在后说明,const的是指针指向的对象,变量在后说明const的是指针本身

2015-08-16 21:25:15 1193

原创 typedef和#define究竟有什么区别?

typedef int * int_ptr ; 与#define int_ptr int * 作用都是用int_ptr代表 int * ,但是二者不同,正如前面所说 ,#define在预处理 时进行简单的替换,而typedef不是简单替换 ,而是采用如同定义变量的方法那样来声明一种类型。

2015-08-16 21:20:26 1923

原创 Android广播机制的设计初衷是什么?

之前数次在程序中碰到Android广播,总是有这个疑问:往往是在发送广播的activity里面进行动态注册,动态注册必须要获得BroadcastReceiver对象,既然我们已经获得了广播接受器的对象,为何还要发送广播,直接用广播接收器的对象调用里面的相关逻辑处理的方法,不行吗?为什么还要绕这么一大圈用广播呢? 以前都是走马观花,这次弄清楚了。在解答这个问题之前,我们首先来详细了解一下Androi

2015-08-15 15:39:36 2546 1

原创 Activity对象的onCreate方法真是Android程序的入口吗?

Android中Application类中的onCreate方法才是Android程序的真正入口,而非activity对象中onCreate方法。 Android中activity可以有,也可以没有,而Android中application类是在程序启动时才创建,并且只会创建一个,通常情况下,我们是不需要创建自己的application对象,程序会自动帮我们创建。 Application

2015-08-14 15:28:16 5755 1

原创 一个Java现象的记录

我在子类中调用父类的方法,在这个父类的方法中有调用了一个子类中有,父类中也有的方法,即一个已经被重写的方法,但是在父类中调用这个方法,最后实现的子类中的方法,而不是父类中的方法。现在猜想是用super调用父类方法的原因。此问题待解决

2015-08-13 23:11:04 729

原创 android/bitmap.h 详解

<android/bitmap.h> 包含于jnigraphics 库,jnigraphics库是 android-8 新增的一个库,提供对Java中的 bitmap 对象的操作。 链接: LOCAL_LDLIBS += -ljnigraphics 典型用法: a) 用 AndroidBitmap_getInfo() 函数从位图句柄(从JNI得到)获得信息(宽度、高度、像素格式)

2015-08-13 19:38:02 3815

原创 C语言strncpy()函数

头文件:#include <string.h>strncpy()用来复制字符串的前n个字符,其原型为: char * strncpy(char *dest, const char *src, size_t n);【参数说明】dest 为目标字符串指针,src 为源字符串指针。 strncpy()会将字符串src前n个字符拷贝到字符串dest。 不像strcpy(),strncpy()不会向

2015-08-13 12:27:04 1084

原创 C语言中的signal函数

signal是一个系统调用,是一种特殊的中断,当某种特定的“软件中断”发生时,用于调用的程序。中断一般是程序执行中出现的特殊情况,如引用特殊内存中的非法地址, 浮点数被0除。signal()的原型为: #include <signal.h> void(*signal(int hum,void(*func)(int)))(int);signal中的int参数及其含义 SIGHUP 1

2015-08-13 10:53:43 12684

原创 JNI 错误:Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1)

遇到这个错误,在网上查了很多都没有到解决方案,最后多方尝试,发现或者是JNI部分,未分配内存,没molloc,或者是Java端未new对象。总之,这个错误是内存有关的错误,一般是内存未分配,未初始化。

2015-08-12 23:19:37 2901 2

原创 Android Socket开发 注意事项

Android上的socket虽说api都和Java一样但还是有一些区别的 1、想访问网络,必须在Androidmainfest.xml中加上 <uses-permissionandroid:name="android.permission.INTERNET"/> 2、Android不能在主线程中访问网络,会报NetworkOnMainThreadException,若想在主线程访问,可以

2015-08-12 16:32:32 1095

原创 android JNI之 'GetObjectClass' in something not a structure or union

编译错误提示: /home/miyuehu/work/WebJsTest/jni/jnitest.c:22: error: request for member ‘GetObjectClass’ in something not a structure or union /home/miyuehu/work/WebJsTest/jni/jnitest.c:23: error: request f

2015-08-05 14:39:46 1537

原创 Android JNI 学习之Android.mk文件

Android.mk文件是用来向eclipse或者Android studio描述C或C++源代码的LOCAL_PATH := $(call my-dir),local_path用来向告诉jni的路径,$(call my-dir)即为jni文件夹的路径。include $(CLEAR_VARS) 其中CLEAR_VARS由编译器提供,用来让GNU makefile清除多余的local_变量。L

2015-08-04 16:38:23 666

原创 Java byte数组 转short int

若tmp是一个长度为4的数组,则转为int类型的方法如下int targets = (tmp[0] & 0xff) | ((tmp[1] << 8) & 0xff00) | ((tmp[2] << 24) >>> 8) | (tmp[3] << 24); tmp是一个长度为2的数组,则转为short类型的方法如下 short res = (short) (((tm

2015-08-03 16:20:09 938

原创 C # 和 Java的不同之处

结构体 C# 中可以向c++一样用struct定义结构体,而Java若要实现结构体,则需要用定义的类的方法来实现。调用异类方法 C# 可以通过事件和委托,在不掌握另一类的引用的情况下调用另一个类的方法,而在Java中若要调用另一个类的方法,则必须掌握它的引用。 3.待续

2015-08-03 16:16:58 639

原创 c# ConcurrentQueue

1、ConcurrentQueue是c# 中线程安全的队列。 2、ConcurrentQueue具有以下属性:count(元素个数)isEmpty(队列是否为空)3、ConcurrentQueue具有以下方法:Enqueue 将元素添加到队列末尾TryDequeue 尝试移除处于队列开头的对象TryPeek 尝试返回队列开头的对象,但不移除ToArray 将队列中存储的元素复制到新数

2015-08-01 15:40:46 9734

安卓飞机大战

安卓飞机大战源码,高仿微信飞机大战界面,

2015-04-23

Linux学习资料

Linux学习资料,一个初学者写的,比较简易懂,可能有点乱

2014-12-18

空空如也

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

TA关注的人

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