- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 [C++] C++编译失败分析例子
1. ISO C++ forbids initialization of member `C'making `C' staticISO C++ forbids in-class initialization of non-const static member `C'在C++中,禁止在constructor之外初始化成员变量,只能声明。只能初始化static 变量。例如: int a;
2013-11-27 19:23:23 3539
原创 [Android NDK]Android JNI开发例子 ---3 在JNI中实现openGL功能
Java部分与例子2相似。MainActivity.javapublic class MainActivity extends Activity { GLSurfaceView mGLView; static { System.loadLibrary("myegl_jni"); } @Override protec
2013-11-26 16:12:05 3462
原创 [C++] Eclipse CDT 配置C /C ++ 标准库 (UBUNTU 12 )
Eclipse 中新建C 或C ++到项目时,头文件报警,显示“Unresolved inclusion:” 虽然不影响项目到编译和运行,确也无法查看头文件,让人感觉实在不爽。下面是在国外到网站上看到解决方案,自己整理了一下拿来分享一下。关于在Eclipse 下配置C /C ++ 开发环境这里不多说了。 在终端下查看C 库文件到路径:$ echo "int main() { ret
2013-11-25 13:36:56 1029
转载 [C++] C++ Eclipse CDT "launch failed. Binary not found" 解决方案
Linux下出现launch failed.Binary not found的解决方案:首先当你把网上关于mingw的解决方案都看晕了的时候,告诉你,别看关于mingw的了。Linux下不用mingw,直接由Linux GCC完成1、看你的Eclipse下面控制台Console输出,如果有g++ not found 的话,说明你的系统g++没安装成功。解决方案:Ctrl+A
2013-11-25 10:47:09 761
原创 [Android NDK]Android JNI开发例子 ---2 动态加载JNI lib
JNI函数的注册有两种方法,一种是静态方法,需要用javah为每个声明了native函数的java类编译出的class文件生成一个头文件;另一种是动态注册,通过数据结构保存关联关系实现注册,这里主要介绍动态注册。1. Java 部分与静态加载相同。2. JNI部分:动态注册需要一个数据结构去保存相关的关联关系,这个结构(在jni.h中声明)是:typedef s
2013-11-22 16:55:06 1122
转载 [Android JNI] JNI Types and Data Structures
Primitive TypesTable 3-1 describes Java primitive types and their machine-dependent native equivalents.Table 3-1 Primitive Types and Native EquivalentsJava TypeNa
2013-11-22 15:04:25 916
原创 [C++] 源文件编译过程
1. 编译源文件成机器语言 Compile the source code.This means running a program that translates the source code to the internal language, called "machine language", used by the host computer. The file containi
2013-11-22 13:52:07 758
转载 android编译系统makefile(Android.mk)写法
(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。(2)Android.mk中可以定义多个编译模块,每个编译模块都是以include $(
2013-11-21 17:40:00 800
转载 C++中extern “C”含义深层探索
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显
2013-11-21 16:14:45 666
原创 [Android NDK]Android JNI开发例子 ---1 静态加载JNI lib
1. 创建一个Android Activity 项目, 我的项目有三个Class, 主要是用来显是gl surface view的东西。package com.example.nativeegl;import android.opengl.GLSurfaceView;import android.os.Bundle;import android.app.Activity;import
2013-11-21 15:43:17 1488
原创 [Android NDK] Android NDK可能遇到的问题
1. java.lang.UnsatisfiedLinkError: Native method not found的处理这个异常一般是由于JNI的链接器不能正常识别C++的函数名造成的。处理的方法是用exern "C" {},来包裹需要export的C++的native方法。如果native的方法比较多,可以在头文件中定义宏:#if
2013-11-21 15:13:41 864
原创 [Android NDK] Android NDK开发环境配置 --- 1 Linux
1. 首先在Android 官网上下载eclipse+Android SDK包。 这个是已经配置好了的eclipse. 自带android AVD + sdk. http://developer.android.com/sdk/index.html2. 下载ndk http://developer.android.com/tools/sdk/ndk/index.html3. 安装Eclip
2013-11-21 10:38:34 1515
转载 [Android Makefile] Android NDK Document
Android.mk file syntax specificationIntroduction:-------------This document describes the syntax of Android.mk build filewritten to describe your C and C++ source files to the AndroidNDK. To un
2013-11-20 10:54:31 1275
转载 [Android Makefile] 简单介绍
每个模在编译的时候都会产生一个编译目录和一个安装目录,编译目录就是这个模块编译以后生成的目标文件,安装目录就代表着这个模块是否会编译进文件系统,就是是否编译进IMG。Android makefile分为四种:1、For config这类文件主要用来配置product,board,以及根据你的Host和Target选择相应的工具以及设定相应的通用编译选项。Borad主要是设计到硬件芯
2013-11-20 10:32:45 814
转载 [Android JNI]Android的NDK开发-基于NDK的OpenGL开发
之前在学习Android的时候有写过如果在Android中使用OpenGL,当时完全都是用java语言来实现的,现在我们用NDK来实现一次。 实现的思路就是将渲染器中的onDrawFrame,onSurfaceChanged,onSurfaceCreated分别在C中实现,然后将C编译成.so文件之后在Java中直接调用相应的函数就可以了。 步骤就不详细叙述了,代码
2013-11-19 17:29:05 1135
转载 [C++语法] 引用(reference) Int& a
张笑猛2003年2月TOC1.简介2.引用的语法3.引用使用技巧 3.1 引用和多态 3.2 作为参数 3.3 作为返回值 3.4 什么时候使用引用4. 参考资料1.简介 引用是C++引入的新语言特性。从语意上来说,引用就是一个变量的别名,就好象古代人的“字”和“号”,东坡居士和苏轼只是一个人的不同称呼。对引用的操作对变
2013-11-18 15:00:53 805
转载 [C++语法] 关键字typedef用法(转)
C/C++语言中的typedef相信大家已经不陌生,本文对C/C++语言关键字typedef的各种用法作一个介绍。typedef,顾名思义,为“类型定义”,可以解释为:将一种数据类型定义为某一个标识符,在程序中使用该标识符来实现相应数据类型变量的定义。例如: typedef unsigned int UINT;int main (int argc, char *argv[]){
2013-11-18 10:32:39 508
转载 Android4.x对长按电源键(挂断键)和短按电源键(挂断键)的详细处理流程
1. 简介 Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCODE_HOME)键做了处理,不会把这些键传送上层应用程序。如需要把这些键发送给Activity和Service,需要在PhoneWindowManager处理这些键时“发送一个广播出去,然
2013-11-14 10:07:26 888
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人