- 博客(149)
- 收藏
- 关注
原创 韬晦有度,进退有方
常言道,“花要开到半开,酒要喝到半醉”。凡是鲜花盛开娇艳的时候,不是立即被人采摘而去,就是衰败的开始。人生也是这样,不要把自己看的太了不起,不要把自己看的太重要,不要把自己看成是救国济民的圣人君子似的,还是收敛你的锋芒,掩饰你的才华,低调做人吧。在现代这个社会,这个道理仍然适用,你不漏锋芒,可能永远得不到重任;你锋芒太露却有易招人陷害。虽然容易取得暂时成功,却也是在自掘坟墓。当你施展自己的才华...
2019-06-20 22:23:27
1449
原创 标准输入to标准输出
#include <unistd.h>#include <stdio.h>#include <stdlib.h>#define BUFFSIZE 4096int main(void){ int n; char buf[BUFFSIZE]; while((n = read(STDIN_FILENO, buf, BUFFSIZ...
2019-06-15 22:49:19
451
原创 列出一个目录种的所有文件
#include "apue.h"#include <dirent.h>int main(int argc, char *argv[]){ DIR *dp; struct dirent *dirp; if (argc != 2) { err_quit("usage: ls directory_name"); } ...
2019-06-15 21:47:53
413
原创 Unix体系结构
在严格意义上,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境,一般而言,我们称此种软件为内核(kenel),它相对较小,位于环境的中心。内核的接口被称为系统调用(system call)。公用函数库构建在系统调用接口之上,应用软件既可使用公用函数库,也可以使用系统调用。Shell是一种特殊的应用程序,它提供接口来运行其他的应用程序。广义上来说,操作系统是内核和所...
2019-06-15 21:32:33
794
原创 c++ static关键字使用含义总结
修饰普通变量,修改变量的存储区域和生命周期,使变量存储在静态区,在 main 函数运行前就分配了空间,如果有初始值就用初始值初始化它,如果没有初始值系统用默认值初始化它。 修饰普通函数,表明函数的作用范围,仅在定义该函数的文件内才能使用。在多人开发项目时,为了防止与他人命名空间里的函数重名,可以将函数定位为 static。 修饰成员变量,修饰成员变量使所有的对象只保存一个该变量,而且不需要生成...
2019-06-08 15:11:18
389
原创 O_CLOEXEC模式和FD_CLOEXEC选项
O_CLOEXEC模式和FD_CLOEXEC选项调用open函数O_CLOEXEC模式打开的文件描述符在执行exec调用新程序中关闭,且为原子操作。调用open函数不使用O_CLOEXEC模式打开的文件描述符,然后调用fcntl 函数设置FD_CLOEXEC选项,效果和使用O_CLOEXEC选项open函数相同,但分别调用open、fcnt两个函数,不是原子操作,多线程环境中存在竞态条件,故用o
2016-05-13 11:07:22
6766
转载 Android DEX安全攻防战
英文原版:http://www.strazzere.com/papers/DexEducation-PracticingSafeDex.pdf 该文章发表于Black Hat 2012,虽然内容不够新鲜,也许好多方法目前已经失效,但是仍然会给我们反逆向方面很多的启示!一、DEX相关基础知识 1、什么是DEX? DEX是Dalvik EXe
2016-04-20 21:33:01
680
转载 Android java 中如何优雅的结束线程
线程对象属于一次性消耗品,一般线程执行完run方法之后,线程就正常结束了,线程结束之后就报废了,不能再次start,只能新建一个线程对象。但有时run方法是永远不会结束的。例如在程序中使用线程进行Socket监听请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。当需要结束线程时,如何退出线程呢?有三种方法可以结束线程:1. 使用退出
2016-04-15 15:23:17
634
原创 ViewConfiguration.getScaledTouchSlop () 用法
getScaledTouchSlop是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。如果小于这个距离就不触发移动控件,如viewpager就是用这个距离来判断用户是否翻页/** * 包含了方法和标准的常量用来设置UI的超时、大小和距离 */ public class ViewConfiguration { // 设定水平滚
2016-04-12 09:45:38
556
原创 Android中shape中的属性大全
转:谨供自己学习用转处:http://www.oschina.net/question/166763_34833Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结:先看下面的代码:
2016-04-12 00:04:14
555
转载 整理了一份React-Native学习指南
自己在学习React-Native过程中整理的一份学习指南,包含 教程、开源app和资源网站等,还在不断更新中。欢迎pull requests!React-Native学习指南本指南汇集React-Native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源欢迎Pull Requests!同时还有Awesome React-Native系列https
2016-04-11 23:58:44
2719
转载 低功耗蓝牙(BLE)之开发步骤
Android Bluetooth源码静态类图如下:使用低功耗蓝牙需要用到的权限:?12"android.permission.BLUETOOTH"/>"android.permission.BLUETOOTH_ADMIN"/>下面介绍怎样使用BLE:
2016-04-11 23:57:01
3882
原创 低功耗蓝牙(BLE)之概念理解
如上图所示:Android中进行蓝牙开发需要使用到的类的执行过程是:使用BluetoothAdapter.startLeScan来扫描低功耗蓝牙设备在扫描到设备的回调函数中会得到BluetoothDevice对象,并使用BluetoothAdapter.stopLeScan停止扫描使用BluetoothDevice.connectGatt来获取到BluetoothGatt对象执行Blueto
2016-04-11 23:46:12
1455
转载 MVP框架 – Ted Mosby的软件架构
MVP框架 – Ted Mosby的软件架构作者:Hannes Dorfmann原文链接 : Ted Mosby – Software Architect文章出自 : Android开发技术前线译者 : Mr.Simple我给这篇关于Android库的博客起的名字灵感来源于《老爸老妈浪漫史》中的建筑设计师Ted Mosby。这个Mosby库可以帮助大家在Android上
2016-04-11 23:36:36
901
转载 ListView中pointToPosition()方法使用示例.
MainActivity如下:package cc.testpointtoposition;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import android.os.Bundle;import android.view.MotionEvent;import androi
2016-04-11 23:29:36
4030
转载 Android ListView 几个重要属性
Android ListView 几个重要属性http://blog.youkuaiyun.com/avenleft/article/details/7334060 android:transcriptMode="alwaysScroll" android:cacheColorHint="#00000000"android:listSelector="@color/pink"
2016-04-11 20:47:33
498
原创 android:scaleType属性
ImageView.ScaleType.XXX|android:scaleType="xxx"1. CENTER, "center"居中显示。不缩放。不裁减。2. CENTER_CROP, "centerCrop" 图片宽(高)小于ImageView的宽(高)时,按比例放大图片,使得图片宽(高)大于等于ImageView的宽(高)。居中显示。3. CEN
2016-04-11 14:01:32
377
转载 android自定义Activity窗口大小(theme运用)
正常情况下,我们开发的应用程序都会上占满整个屏幕,那么怎么样才能开发出自定义窗口大小的的程序呢?如下图所示: 实现起来非常简单。 第一步,创建一个背景配置文件float_box.xml,放到res/drawable下,如下所示(如看不懂可查看本站:): Xml代码 xml version="1.0" encoding="utf-8"?>
2016-04-11 13:59:57
1059
原创 Android开发--利用Matrix进行图片操作
今天和大家分享一下Android中Matrix的简单用法,Matrix其实就是一个3*3的矩阵,利用这个矩阵对图像操作。在Android中,为我们提供一些封装好的方法可以进行一些简单的图像操作,总共分为rotate(旋转),scale(缩放),translate(平移)和skew(倾斜)四种,每一种变换都提供了set, post和pre三种操作方式,除了translate,其他三种操作都可以指
2016-04-11 13:41:49
560
原创 RelativeLayout各个属性
android:layout_above="@id/xxx" --将控件置于给定ID控件之上android:layout_below="@id/xxx" --将控件置于给定ID控件之下android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID控件的左边缘对齐android:layout_toRightOf="@id/x
2016-04-11 13:40:26
338
转载 Android自定义属性时TypedArray的使用方法
有时候android传统的页面布局不足以满足我们的需求,常常需要自己定义view,通常继承View,然后重写构造方法以及onDraw等函数,再具体实现自己定义的复杂view。我们知道在给控件赋属性时,通常使用的是android系统自带的属性,比如 android:layout_height="wrap_content",除此之外,我们亦可以自己定义属性,这样在使用的时候我们就可以使用形如 my
2016-04-11 13:37:35
432
转载 Android使用AttributeSet自定义控件的方法
所谓自定义控件(或称组件)也就是编写自己的控件类型,而非Android中提供的标准的控件,如TextView,CheckBox等等.不过自定义的控件一般也都是从标准控件继承来的,或者是多种控件组合,或者是对标准控件的属性进行改变而得到的自己满意的控件. 自定义控件可能会有很多种方法,这里只介绍我要介绍的方法. 在这种方法中,大概的步骤是这样的 1.我们的
2016-04-11 13:36:44
565
原创 android: 获取屏幕的宽度和高度
//获取屏幕的宽度 public static int getScreenWidth(Context context) { WindowManager manager = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); Display
2016-04-11 13:35:27
357
转载 android shape的使用
shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下:xml version="1.0" encoding="utf-8"?>shape xmlns:android="http://schemas.android.com/apk/res/android" > 圆角 --> corners andr
2016-04-11 11:29:53
367
转载 Chrome神器Vimium快捷键学习记录
Chrome神器Vimium快捷键学习记录今天下午折腾了一下Chrome下面的一个插件Vimium的使用,顿时发现该插件功能强大,能够满足减少鼠标的使用。至于为何要使用这个插件,源于我手腕上的伤一直没有好,使用鼠标的时候有轻微的疼痛。而且,由于我一般都是在SNS网站上停留,在人人和微博比较多,所以实际上发现每次看完一个一个页面都要点下一页的感觉很不爽,而同时最近在学习Vim,所以想到如果能够实
2015-12-11 10:23:50
607
原创 Java出现No enclosing instance of type E is accessible问题解决
以前在学校的时候我是不喜欢学习Java,但是现在没有办法,因为工作需要,必须要学习Java。在此之前,我以为学习Java很简单,其实不然,今天就遇到一个最基础的问题,报错信息:No enclosing instance of type DirList is accessible. Must qualify the allocation with an enclosing insta
2015-11-18 22:34:45
2021
原创 sublime text3安装Package Control
原来在Sublime text3上安装Package Control很麻烦,现在可以有简单的方法了。使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码:import urllib.request,os; pf = 'PackageControl.sublime-package'; ipp = sublime.installed_packa
2014-11-25 22:21:53
677
原创 类的静态成员数据变量
代码如下:#include using namespace std;typedef struct person { int id; char sex; static int count; static long count2;} person;int main(){ person a; cout << sizeof(a) << endl; cout << sizeo
2014-09-14 00:23:27
540
原创 c++带有虚函数的对象的大小问题
如下代码:#include using namespace std;class A{public: int b; char c; virtual void print() { cout << "this is a father's function!" << endl; }};int main(){ cout << sizeof(A) << endl;}输
2014-09-13 09:57:12
781
原创 c++内存泄露
#include using namespace std;class Simple {public: Simple() { mIntPtr = new int(); } ~Simple() { delete mIntPtr; } void setIntPtr(int inInt) { *mIntPtr = inInt; }protected: int *mIntPt
2014-09-12 10:40:12
700
原创 编写自己的指针类
#include #include #include template class SuperSmartPointer{public: explicit SuperSmartPointer(T* inPtr); virtual ~SuperSmartPointer(); SuperSmartPointer(const SuperSmartPointer& src); Sup
2014-09-11 23:56:50
574
原创 C++方法模板
template class Grid{public: Grid(size_t inWidth = kDefaultWidth, size_t inHeight = kDefaultHeight); Grid(const Grid& src); template Grid(const Grid& src); virtual ~Grid(); Grid& operator=(c
2014-09-10 14:49:53
503
原创 c++之拷贝构造函数的研究
问题:#include #include using namespace std;static int objectCount = 0;class HowMany {public: HowMany() { objectCount++; print("HowMany()"); } void print(const string& msg = "") { if (m
2014-09-09 16:37:16
581
原创 References as class members
1.Declared without initial value2.Must be initialized using constructor
2014-09-08 14:12:24
556
原创 非整数数组索引
代码如下:#include #include class AssociativeArray {public: AssociativeArray(); virtual ~AssociativeArray(); int &operator[](const std::string &key); const int &operator[](const std::string &key)
2014-09-06 09:35:41
846
原创 const成员函数
#include using namespace std;class A { int i;public: A() : i(0) {} void f() { cout << "f()" << endl; } void f() const { cout << "f() const" << endl; }};int int main(int argc, char const *
2014-09-05 23:21:27
484
原创 对#define和inline的一点理解
#include using namespace std;#define f(a) (a)+(a)int main(){ double a = 4; printf("%lf %d\n", f(a), f(a)); return 0;}
2014-09-05 19:59:34
612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人