棉记糖水

棉记糖水在东莞,我出生的地方,这家店在花园路吉之岛附近,成院的同学应该非常熟悉,作为本地人,不知道从什么时候开始知道有这间店的存在了。 这家店的价格走的是亲民路线,但是品质是上乘的*(对于本人来说)*,虽然说是糖水店,但是里面不单单只卖糖水,还提供小吃,饭,捞面,东莞特色食品龙船饭,咸面等等等等。 对于我来说除了吃,这家店还承受着更重要的意义,:-)。 捞面是我必点的食物,严重推荐 当然,来吃东西不止吃一样,我是喜欢把店里所有的东西都尝试一遍的。 黄色那些是炸过的蒜。 这里的装潢一般,但是很大,忙时可能找不到座位。

March 9, 2013

G类写作Task1学习笔记

摘抄自*《十天突破雅思写作》* Important 书信部分使用齐头式,署名在左下角。 ##书信三大纪律 书信考的六大类 Making a request 提出要求或者请求的信 Making a suggestions 提出建议的信 Making an apology 道歉信 Making a complaint 抱怨信 Thank-you letters 感谢信 Extending an invitation 邀请信 可以联想 用词追求稳妥 注意时间

March 8, 2013

Android-jni技术-II

在概述中基本搭建了一个jni的工程,但是有很多细节都没有讨论,这篇文件就是进一步讨论JNI技术的具体方面的,包括String的传递及使用,java的属性和方法的使用和异常抛出等。 String的使用 java的属性和方法 类的使用 异常抛出 ##String的使用 我们都知道JAVA有String这个类可以很方便地使用字符串,而在c中我们通常是用char*,那么JNI是怎么在这两种类型里转换的呢? 在之前的工程添加以下代码: :::c static JNINativeMethod gMethods[] = { {"intToJni","(I)V", (void*)nativeIntToJni}, {"conversation","(Ljava/lang/String;)Ljava/lang/String;", (void*)nativeConversation}, }; jstring nativeConversation(JNIEnv* env, jobject clazz, jstring fromJava){ const char* message; message = (*env)->GetStringUTFChars(env,fromJava,NULL); __android_log_print(ANDROID_LOG_INFO,"TAG","message from java: %s", message); (*env)->ReleaseStringUTFChars(env, fromJava, message); return (*env)->NewStringUTF(env, "nice to see you , i am c"); } 可以看到fromJava是从java传进来的string,message是jstring转换为char*的容器。使用方法GetStringUTFChars进行转换,使用ReleaseStringUTFChars释放资源。 Warning GetStringUTFChars和ReleaseStringUTFChars需要成对出现,要不会有内存泄漏的,native想保存字符串可以使用memcpy复制一份 ...

March 7, 2013

ubuntu-gcc版本切换

随着ubuntu版本的更新,内置的gcc也随着更新了,可是有时后我们用不到那么高版本的gcc,这时候我们就需要为ubunut切换低版本的gcc了,网上有些方法比较暴力,也比较麻烦,现在我推荐一种智能的方法。 首先我们用gcc -v查看一下我们用的是什么版本的gcc,同时可以使用ls /usr/bin/gcc*来查看机器装了什么版本的gcc。 如果系统没有我们想要的gcc版本,可以通过apt-get来获得,例如: :::sh sudo apt-get install gcc-4.5 gcc-4.5-multilib g++-4.5 g++4.5-multilib 下面就说说这么进行转换,例如我们想把gcc转换为4.4版本: :::sh sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 50 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.5 40 接这输入: :::sh sudo update-alternatives --config gcc 你会看到像下面的选项 :::sh 有 3 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。 选择 路径 优先级 状态 * 0 /usr/bin/gcc-4.4 50 自动模式 1 /usr/bin/gcc-4.4 50 手动模式 2 /usr/bin/gcc-4.5 40 手动模式 3 /usr/bin/gcc-4.6 30 手动模式 要维持当前值[*]请按回车键,或者键入选择的编号: ...

March 7, 2013

android-jni技术-概述

JNI(Java Native Interface)是java调用本地代码的接口技术,基本上我是用它来在android中调用C/C++,android提供了一套套件叫做NDK(Native Development Kit),使我们可以很方便生成我们需要的目标文件。 专门有网站是介绍使用JNI的,网址是这里 ##使用举例 ###JAVA端实现 info 首先需要明确apk还是运行在Dalvik虚拟机中的,我们暂时还不能编写纯粹C/C++的应用,除非不需要面向用户界面 info 我们可以指定一个类来完成JAVA和C的交互工作,例如com.lingavin.jnisample.JavaToJni.java :::java package com.lingavin.jnsample; public class JavaToJni { static{ //系统加载 libnativejni.so System.loadLibrary("nativejni"); } //对应native函数的接口,用native关键字来修饰 public static native void intToJni(int number); } 就这样一个简单的JAVA端部分完成了,程序通过调用JavaToJni.intToJni(num),就可以将int传入C/C++处理。 ###native端实现 native端的实现才是重点内容,本次使用动态注册的方式和C语言来完成这项工作。 info jni本地代码的接口分为动态注册和静态注册,本文只体现动态注册 info ...

March 5, 2013