自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

转载 格式化输出函数printf()

printf()函数的调用格式为:printf("", );1. 格式化规定符%d 十进制有符号整数 %u 十进制无符号整数 %x, %X 无符号以十六进制表示的整数 %f 浮点数 %s 字符串 %c 单个字符 %e 指数形式的浮点数 %0 无符号以八进制表示的整数 %g 自动选择合适的表示法 %p 指针的值 (1).

2016-10-30 20:24:22 2605

原创 neon自动向量优化

注:这些东西未验证是否正确交叉编译加入如下命令:--vectorize Enable vectorization--cpu=Cortex-A8 Specify a core or architecture with NEON support-O2 or –O3 Select high level or aggressive optimization-Otime Opti

2016-08-22 09:50:39 1779

原创 查找算法

在有序表上进行折半查找int BinarySearch(DataType data[], DataType kx, int n){ int mid; int low = 1; //从数组的索引1开始存放元素 int high = n; while(low <= high) { mid = (low + high) / 2; if (kx == data[mid])

2016-08-08 18:10:00 550

原创 二叉树的遍历

二叉树的遍历分为前序遍历、中序遍历、后序遍历遍历的C语言实现:typedef char DataType;typedef struct node{ DataType data; struct node *lchild; struct node *rchild;}BiTNode, *pBiTNode;void PreOrderTraverse(pBiTNode pB

2016-08-08 18:00:59 569

原创 用c语言实现栈

栈是一种后进先出的数据结构,栈有两种存储结构:顺序存储和链式存储栈的顺序存储结构简称为顺序栈顺序栈的c语言实现:#define STACKSIZE 100typedef int DataType;typedef struct { DataType data[STACKSIZE]; int top; //指向栈顶,为-1时,栈中没有元素}SeqStack;bool I

2016-08-08 17:02:56 927

原创 用c语言实现队列(FIFO)

循环队列是通过数组实现的一种队列#include #define QUEUESIZE 100 //定义数组大小typedef int DataType; //定义数组元素类型typedef struct{ int count; //当前队列中元素的个数 int front; //队列中第一个元素的索引 int tail; //队列中最后一个元素的下一个位置的索引}C

2016-08-05 15:17:52 14488 2

原创 使用neon内部函数实现8-way de-interleave

neon内部函数只提供实现4-way de-interleave的指令,要实现8-way de-interleave可通过两个4-way de-interleave来实现。uint8_t src[64] = {0};uint8_t dst[64] = {0};for (int i = 0; i < 64; i++){ src[i] = i;}//读取2组4-way数据uint

2016-07-19 19:59:47 2208 1

原创 neon内部函数

1、从内存加载数据进neon寄存器:1.1、vld1_type:1.2、vld1q_type:1.3、vld1_lane_type1.4、vld1q_lane_type:1.5、vld1_dup_type;1.6、vld1q_dup_type:1.7、vld2_type:1.8、vld2q_type:1.9、vld2_lane_t

2016-07-19 19:47:24 13281 1

原创 Ne10开源库

介绍        Ne10是一个单独的开源库,可以把它直接嵌入到工程里面去(目前支持linux,android,ios),直接调用里面的函数。Ne10已实现一些接口,可分为4个模块:dsp、math、imgproc、physics。比如dsp中目前就已封装了fft,fir,irr算法函数接口,用户直接调用这些接口函数就可以实现相应算法。Ne10中的所有接口函数既有基于neon实现又有基于c语

2016-07-11 17:12:15 6755 2

原创 neon基础知识

neon介绍:Neon是适用于ARM Cortex-A系列处理器的一种SIMD(Single Instruction, Multiple Data)扩展结构。NEON有自己的执行管道和寄存器组,neon寄存器组包含32个64位的寄存器和16个128位的寄存器,它们分别被标识为(D0-D31),(Q0-Q15)。 实际上D寄存器和Q寄存器是重叠的,如图一所示。NEON 技术本质上是一种并行处理技

2016-07-05 20:11:18 7800

原创 windows下创建并使用动态链接库(.dll)

定义:动态链接库(dll)是一个包含可由多个程序同时使用的代码和数据的库。动态链接库不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含能被可执行程序或其它DLL调用来完成某项工作的函数或是数据一、创建动态链接库1、新建一个名为DllOne的win32工程,并设置Application type为DLL,创建一个DLL工程。2、添加如下三个文件DllMain.c

2016-04-09 15:08:28 3076

原创 windows下创建并使用静态链接库(.lib)

开发环境:vs2008, C++静态链接库:将函数和数据编译进一个二进制文件(通常扩展名为.lib)。如果某个工程需要使用这个静态库,则需要在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件(.EXE文件)。一、创建静态链接库1、创建一个新的win32工程 (工程名为LibOne)2、选择Application type为

2016-04-08 17:38:48 3565

原创 使用VS2008自带的dumpbin.exe查看dll包含的函数

dumpbin.exe工具一般在C:\Program Files\Microsoft Visual Studio 9.0\VC\bin目录中。

2016-03-25 17:14:24 2485 1

原创 Java的异常处理

一、异常分类Java中可以捕获的异常(即Exception类的子类)分为可控式异常和运行时异常。可控式异常:运行时异常:二、获取异常信息Java中java.lang.Throwable类是所以异常类的超类,它提供了获取异常信息的方法。例如:public class Example_0{ public void printInfo(){

2016-02-29 15:46:03 538

原创 C++中pair的用法

pair是C++中一种模板类型。每个pair对象可以存储两个值,这两个值可以是不同的数据类型。存储的值可以是基本数据类型也可以是自定义数据类型。声明命名空间:using namespace std;或using std::pair;pair pdata;或使用全名std::pair pdata;一、定义和初始化pair p1(1, 2);pair p2(p

2016-01-26 16:04:22 4768

原创 标准C++中的vector用法

STL是C++标准的组成部分,它提供了一组表示容器、迭代器、函数对象和算法的模板。容器:是一个与数组类似的单元,可以存若干个值。STL容器是同质的,即存储的值的类型相同;算法:是完成特定任务的处方;迭代器:是能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针;函数对象:是类似于函数的对象,可以是类对象或函数指针(包括函数名,因为函数名被用作指针)。vector

2016-01-25 19:18:57 1036

转载 C++中的inline函数

在函数名字前面加上inline,该函数就被声明为内置函数。每当程序中出现对该函数的调用时,C++编译器使用函数体中的代码插入到调用该函数的语句之处,而不是将流程转出去,同时用实参代替形参,以便在程序运行时不再进行函数调用。引入内置函数的目的就是:消除函数调用时系统开销,以提高运行速度。减少程序执行过程中对CPU的中断次数。我们知道,在程序执行过程中调用函数时,系统要将程序当前的一些状态信息存到

2016-01-22 17:41:05 800

原创 C++中const相关知识

const的作用:定义常量修饰函数形参修饰函数体存在同名的const和非const函数时只存在const函数时只存在非const函数时const_cast

2016-01-12 20:27:47 726

原创 有符号数与无符号数之间的转换

1,C语音中负数怎么转换为补码形式2,有符号数怎么转换为无符号数3,无符号数怎么转换为有符号数

2016-01-12 17:42:20 11936 1

转载 Unicode与UTF-8的关系

1. ASCII码        我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对

2016-01-06 19:12:35 531

原创 标准C语言字符串函数

包含头文件:#include  #include  strcpy 功  能: 拷贝一个字符串到另一个字符串中 用  法: char *stpcpy(char *dest, char *src); strcat 功  能: 把src所指的字符串添加到dest结尾处(覆盖dest结尾处的'\0',并添加'\0')用  法: char *strcat(

2016-01-06 10:48:52 940

原创 标准C++中string类的用法

包含头文件为:#include 声明命名空间:using  std::string;using  std::wstring;或using namespace std;就可以使用string/wstring了,它们两分别对应着char和wchar_t,string和wstring的用法是一样的。定义、初始化:string类有多种定义和初始化方式,可以用

2016-01-05 17:46:17 1009

原创 链表的笔试题

单向链表节点定义:typedef struct node{ int data; struct node *next;}Node,*pNode;双向链表节点定义:typedef struct node{ int data; struct node *next; struct node *pre;}Node,*pNode;已知链表的头结点he

2016-01-04 19:58:40 653

转载 C++命名空间

目的:     * 掌握命名空间的作用及定义,如何使用命名空间。一、 为什么需要命名空间命名空间是ANSI C++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。在C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。由于各头文件可能

2015-12-29 20:11:36 693

转载 C++ 类模板和模板类

类模板的意义和函数模板的意义是一样的。类模板的定义template //声明一个模板,虚拟类型名为T。注意:这里没有分号。class Compare //类模板名为Compare{public : Compare(T a,T b) { x=a;y=b; } T max( ) { return (x>y)?x:y; }

2015-12-28 20:16:45 31272

转载 C++函数模板和模板函数

1.函数模板的声明和模板函数的生成1.1函数模板的声明函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免了重载函数的多个函数体。它的最大特点是把函数使用的数据类型作为参数。函数模板的声明形式为:template(参数表){    函数体}其中,template是定义模板函数的关键字;template后面

2015-12-25 18:10:09 780

转载 C++ math.h库函数

要#include abs原型:extern int abs(int x);功能:求整数x的绝对值说明:计算|x|, 当x不为负时返回x,否则返回-xfabs原型:extern float fabs(float x);功能:求浮点数x的绝对值说明:计算|x|, 当x不为负时返回x,否则返回-xceil原型:extern float cei

2015-12-25 09:54:57 4552

原创 windows下C++多线程

CreateEventHANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes,// 安全属性BOOL bManualReset,// 复位方式BOOL bInitialState,// 初始状态LPCTSTR lpName // 对象名称);SetEventCloseHandleCreateTh

2015-12-23 16:55:31 1755

转载 C++中前置声明和头文件包含

假设有一个Date类Date.h[cpp] view plaincopyclass Date {  private:      int year, month, day;  };  如果有个Task类的定义要用到Date类,有两种写法其一Task1.h[cpp] view pla

2015-12-21 20:40:24 13503 3

转载 #pragma用法

解析#pragma指令 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为:#Pragma Para 其中Par

2015-12-21 20:01:02 614

原创 Java集合类

概述    集合可以看作是一个容器。对于集合中的各个对象可以很容易将其存放到集合中,也很容易从集合中取出来,还可以按照一定的顺序进行摆放。Java中提供了不同的集合类,这些集合类具有不同的存储对象方式,并提供了相应的方法对集合类进行遍历、添加、删除以及查找指定对象。

2015-12-02 20:22:33 530

原创 Java的抽象类和内部类

抽象类关键字为abstractabstract class Fruit{ public String color; public Fruit() { color = "red"; } public abstract void harvest();//抽象方法,没有定义方法的实现}抽象方法不能使用private或static关键字进行修饰

2015-12-01 20:44:18 1010

原创 Java的接口、继承

Java只支持单重继承,即一个类只能有一个父类。Java提供了接口来实现类的多重继承功能。接口的定义----和类文件一样,接口文件的文件名必须与接口名相同[访问权限修饰符] interface 接口名 [extends父接口列表] {    [public] [static] [final] 变量;    [public] [abstract] 方法; ----方法只有定义

2015-12-01 19:29:51 675

原创 Java类和对象基础

类的构造方法特点:1、没有返回值2、名称与类名一样如Book类的构造方法为:public Book(/*参数*/){ //构造方法体}只有在类中没有定义任何构造方法时,编译器才会自动创建一个默认构造方法(不带参数)。类的主方法----等价于c++中的main函数,Java编译器通过主方法来执行程序。public class TestMain{

2015-12-01 18:57:34 446

原创 Java基础语法

Java的运算符与C++几乎一样Java的流程控制语句与C++也是几乎一样的Java的break可以指定退出哪一个循环基本数据类型:1、数值      1.1、整数(byte(1B)、short(2B)、int(4B)、long(8B)) ----long型数字后要加L或l      1.2、浮点(float(4B)、double(8B)) ----floa

2015-11-24 20:22:02 481

原创 Java的一些基本概念

Java的特性:1、语法规则与C++类似,Java语音是从C和C++转变而来。2、Java使用接口取代了多重继承,并取消了指针。3、提供了丰富的类库和API文档以及第三方开发包。4、操作分布和数据分布:操作分布是指在多个不同的主机上布置相关操作。数据分布是将数据分别存放在不同的主机上面,这些主机是网络中的不同成员。Java可以凭借URL对象访问网络对象,访问方式与访问本地系统相同。

2015-11-23 20:38:38 739

原创 linux常用命令

基本操作:将目录dir1复制为dir2:cp -r dir1 dir2查找:在当前目录下查找名为filename的文件:find -name filename在全部目录下查找名为filename的文件:find / -name filename在名为filename的文件中查找字符串str:grep str filename在当前目录下查找所有包含字符串str的

2015-11-23 19:44:39 544

原创 排序算法

排序:将一连串记录按照关键字的大小(从大到小或从小到大)进行排列。稳定性:如果两个大小相同的关键字的相对位置在排序前和排序后是一样的(Ai等于Aj,排序前Ai 在Aj的前面,排序后Ai 还是在Aj的前面),那么这种算法就是稳定的。稳定的排序算法有:冒泡排序、直接插入排序、归并排序、基数排序不稳定的排序算法有:选择排序、快速排序、希尔排序、堆排序冒泡排序:

2015-08-17 10:53:01 864

原创 UML简介

UML作用:        一首歌曲可以通过乐谱来记录,任何一个懂得看乐谱的人都可以通过这个张乐谱将这首歌曲准确地弹奏出来。一栋房子的设计可以通过建筑图纸来记录,任何懂得看建筑图纸的工人都可以通过这张图纸准确地建造出这栋房子。在任何的设计领域中,都需要一种定义良好的、富有表现力的表示法。通过这种表示法,人们能够准确的记录自己的设计,并让懂得这种表示法的其他人能清楚准确地看懂自己的设计。UML就

2015-08-10 17:23:48 746

转载 linux下common clock framework的使用

转自:http://www.wowotech.net/pm_subsystem/clk_overview.html1. 前言common clock framework是用来管理系统clock资源的子系统,根据职能,可分为三个部分:1)向其它driver提供操作clocks的通用API。2)实现clock控制的通用逻辑,这部分和硬件无关。3)将和硬件相关

2015-07-16 13:47:07 1938

空空如也

空空如也

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

TA关注的人

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