自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android Studio引入第三方库so库,和Module添加和引入

AS引入第三方so库首先本篇文章是为了记录下自己学习的过程,因为也是刚开始使用集成开发环境,虽很多都是很陌生,写下此片博客也正是为了记录这样一个过程,当然如果能帮助看到博客的你,那么也很开心。...

2020-05-25 19:32:26 1816

原创 Gradle方式

Gradle依赖类型1. implementation 'com.google.protobuf:protobuf-javalite:3.11.0' 2. implementation project(':core')3. implementation fileTree(dir: 'libs', include: ['*.jar'])4. implementation files('l...

2020-05-25 19:31:33 422

原创 Android错误整理(保持更新)

问题1Android Studio 三个错误,归结为一个错误弹出窗口,错误如下Application Installation Failed…INSTALL_FAILED_INVALID_APK…WARNING: Uninstalling will remove the applation data:Do you want to uninstall the existing ap...

2020-05-25 19:31:09 1527

原创 Djinni_初试Android

Djinni——Android初步使用对于Djinni的介绍和使用这篇文章就不在赘述了,如果还不太了解的可以参考上一篇博客:博客链接、该篇主要是将代码导入Android Studio中,该篇文章也是参考官方的demo。因为也是刚开始接触这个Djinni这个工具,希望这篇博客可以对你有帮助,至于文章中有很多不对不足的地方会在后面的学习中不断去修改。1——创建项目HelloWorl...

2019-01-10 17:29:18 1314

原创 Djinni_初试IOS

Djinni这里简单介绍一下这个开源项目的作用主要是一个工具,完成对跨平台代码的中间层Bridege的自动生成。看一下项目原文介绍。Djinni is a tool for generating cross-language type declarations and interface bindings. It’s designed to connect C++ with either...

2018-12-11 15:40:59 1341

原创 IOS_C++和OC的互相调用

OC和C++的相互调用这篇文章是记录自己学习IOS和C++互相调用的一篇文章,也希望通过自己的自己可以帮助到一些有需要的人,因为也是刚开始学习,可能也有很多不对的地方,希望不要对你造成误解。OC调用C++对于OC调用C++,这是比较简单的,因为OC是可以无缝调用C的代码的,在xcode上也是可以直接编译通过的,但是对于C++代码则不行。想调用C++代码需要将.m文件变成.mm文...

2018-12-11 11:13:23 3704 1

原创 Android_JNI_2

Android JNI上篇博客介绍了JNI的基本的使用,但是不是在多进程中进行的,此片讲述是在另外一个线程中进行回调Java代码,完成回调,demo也是一个异步的回显操作,因为也是刚开始学习,仅仅做个记录。C++层回调Java层(多线程)a. demo只是在C++开辟线程完成回调Java层代码,和上篇在单一线程有些不同,也需要理解一些关于Java的概念。b. JVM,即JVM...

2018-12-11 10:01:21 251

原创 Android_JNI_1

Android JNIJNI最为C++和java在Android中的桥梁,在整个开发过程中都是至关重要的,也是必须要去熟悉的地方。本篇主要记录下自己在学习的JNI中过程,本篇只是在单一主线程进行调用,下一篇将介绍多线程进行调用的情况,也希望可以帮助到有需要的人,仅此而已。Java调用C++代码a. 在日常中对于一些对性能要求更高的地方,经常会采用C++来进行完成,那么此时就...

2018-12-11 09:53:29 259

原创 boost--容器(简述)

boost容器01.boost.array boost.array和C++中STL中的std: :vector一样,都是一样的操作,没有什么不一样的,唯一不同的是array是一个定长的数组 boost.array有一点和C++前面版本不同的是,它是可以向普通数组一样直接进行构造的。(C++11也开始支持了) //boost.arrayint main()...

2018-08-10 11:15:56 589

原创 boost--字符串模块

boost01.boost字符串的算法库 1.boost::algorithm::earse_all_copy( )用来删除所有字符串中所有匹配字符//boost::algorithm::earse_all_copy( )int main(){ std::string str= " I am a Coder ! "; std::cout<...

2018-08-08 15:09:16 561

原创 boost--文件系统

boost文件系统01.boost::filesystem::path boost::filesystem::path 是 Boost.Filesystem 中的核心类,它表示路径的信息,并提供了处理路径的方法 boost后续文件操作都是从这个开始展开的。 02.boost::filesystem::file_status 这是一个...

2018-08-06 18:17:13 1314

原创 c语言中的位运算

小白的文章//位运算的总结1.一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)int main(){ int i = 0; int arr[] = {1,2,1}; int sum=0; int a = arr[0]; for (i = 1; i < sizeof(arr )/ sizeof(arr[0]); i++)...

2018-08-06 10:41:19 689

原创 STL-配置器(stack,queue,deque,list)

配置器00.list list是一种双向开口的非连续性的结构,它的每个元素都是一个独立的节点,互不影响,只是用其节点的结构将其进行连接,其就是一个双向链表 list的迭代器就是一个节点,这个节点就是链表中某个节点的指针。 迭代器的operator *( )就是这个节点中存储的数据,operator++( )就是 向后移动一个节点,operator就是向前移动...

2018-08-06 10:38:02 358

原创 STL-vector容器(简述)

vector00.vector简述 vector和C++内建的array是类似的,不同的时array时静态的,vector则是动态的,可以根据实际进行自动的配置,而array则是不可在改变的。 vector的技术实现主要是其当空间不足时的情况,即扩容和拷贝数据的策略。 vector的结构 template<class T , class Alloc...

2018-08-03 12:25:56 259

原创 STL-配置器(简述)

STL空间配置器 1.STL配置器是指配置一些资源,如内存,磁盘资源等。 2.STL空间配置器是为了给常用的容器来进行空间上的配置,这个空间可以是内存,可以是磁盘或是其他的辅助存储介质。 3.下面简单介绍一下 1. <stl_construct.h> a. 其定义consruct和destroy的大致代码可以参考STL...

2018-08-03 10:11:33 303

原创 Mysql数据库基础操作

mysql数据库用来进行一个记录00.MySQL数据库启动 1.启动服务 service mysql start (mysql) systemctl start mariadb 2.连接数据库 mysql 【-h 主机】 【-u 用户】【-p 用户密码】 01.数据库操作 - 1.创建数据库 ...

2018-07-31 11:27:51 247

原创 Python基础_高级特性

Python01.切片 - 1.切片是python中一种很有特色的操作,也是很python的。 2.切片的操作,用的最多的是元组和列表。# 例子print(15*'*'+'list'+15*'*')l = [1,2,3,4,5,6]#1.取[1,3)的元素打印print(l[1:3])#2.每两个取一个数print(l[::2])#3.打...

2018-07-27 20:50:41 229

原创 shell脚本之awk

awk01.awk介绍 1.awk也是一种编程语言,非常强大。 2.awk用于处理文本文件,或者命令行输入 3.awk是一种动态弱类型的语言,很好的迎合正则。02.awk匹配正则[skin@bogon shell]$ cat 1.txt hello,onehello,twohello,three#匹配以 'h' 开头,以 ','作为分隔符...

2018-07-26 12:00:34 300

原创 Linux五种IO模型

五种IO模型01.五种IO模型介绍 首先我们必须了解,任何IO过程都需要两个部分的来完成,第一步等待数据的到来,将数据从内核空间拷贝到用户空间。 1.阻塞式IO a. 可以看到阻塞是IO整个过程都在等待,等到数据从内核拷贝到用户空间,才进行返回,处理数据。 b. 往往等待数据这个时间花费时间最多。 2.非阻塞式IO ...

2018-07-26 08:28:55 1659

原创 shell脚本基础工具(sort,uniq,paste,sed)

shell工具01.sort工具 1. sort默认对文本进行升序排序 2. sort -r 对文本进行降序排序 3. sort -n 按照数值进行排序 4. sort -t 指定按照什么作为分割符 ,-k 制定按照第几列排序 #1.txt文件[skin@bogon shell]$ cat 1.txt 111 bbb33...

2018-07-25 16:40:26 3152

原创 shell脚本基础语法(循环,数组 ,文件 )

shell01.什么是shell/Shell? 1.什么是shell脚本呢?shell使用c语言实现,shell既是一种脚本语言,也是一种程序设计语言。 2.shell脚本语言和python一样都是解释型语言,动态类型,但是与python不同的是shell是弱类型,python则是强类型。02.shell中的变量 1.shell中的变量不用申明类型 ...

2018-07-25 14:30:47 1853

原创 Python基础-函数

Python01.定义函数 1.python中,定义一个函数要使用def关键字 2.python中函数可以什么都不做,即空函数 3.和其他语言不一样,比如c++的函数申明和定义可以自不同文件,但是python的声明和定义都是一个。#定义了一个加法的函数def myadd(x,y): return x+yprint(myadd(10,20))prin...

2018-07-24 12:33:40 439

原创 Linux网络协议_HTTP

HTTP协议00.什么是HTTP协议? 1.超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。01.认识URL a. 我们熟悉的网址,URL b. 但是有些时候输入的url也会进行转译。比如’ + ’ ,’ \ ’ , ’ ?’ ...

2018-07-24 10:47:46 2416 1

原创 Linux网络传输协议TCP

TCP00.IP和端口 - 1.在说网络编程前我们先要说一下IP和端口号,为什么我们要引入端口号IP和端口号呢? a. 会想前几篇关于进程的博客,可以知道用一个进程PID来标识一个主机上的进程,但是不同主机间没有限制了。这就导致在庞大的互联网中没有办法用PID来表示一个主机上的一个进程 b. IP可以再网络中标识唯一一个主机,而端口号则是用来标识这个主机...

2018-07-23 13:49:25 2627

原创 Linux多线程

Linux线程01.Linux线程 - 1.什么是线程呢?线程是执行的最小单位,但不是资源分配的最小单位。举个例子,当你正在玩LOL的时候,又想听音乐,那么此时必须要有一个执行流来执行音乐的播放,此时多线程派上了用场。 2.线程是一个程序中独立执行的序列,是可调度的实体。 3.一个进程某一时刻只能做一件事情,有了多线程,在程序设计时就可以同一时刻做不止一件事情。...

2018-07-22 12:05:26 536

原创 Linux下基础IO和静态动态库

标题01.C语言的IO 1.c语言的IO函数 2.试用一下就知道//写文件int main(){ //0.打开一个文件 FILE* file1 = fopen("./1.txt","w"); //1.向文件写数据 const char* str= "hello,world\n"; fwrite(str,strlen(...

2018-07-21 12:31:13 542

原创 Linux信号

Linux信号00.什么是信号? 1.信号顾名思义,就是平时用来传递信息的一种手段,如小明的妈妈:“小明回家吃饭了!”,其实这就是一种信号,当小明听到了这句话的时候,就知道要回家吃饭了(要不然估计又是一顿)。 2.正如上面所说Linux信号也是一样的,发送信号给某个进程,当这个进程收到了信号,那么收到这个信号的进程就会按照该信号的处理方式去做出相应的处理动作。 3.结合...

2018-07-20 14:31:39 466

原创 Linux下进程间通信

Linux进程间的通信00.再说这个问题前,首先应该知道为什么要进程间通信呢?,它带给我们什么东西,致使我们去学习它呢? 1.数据传输:一个进程需要将它的数据发送给另一个进程,比如我再自己的一个网站的项目中,子进程进行程序替换,去执行爬取数据,然后将数据给父进程,然父进程进行展示。 2.事件通知:如当一个进程执行写文件操作后,需要告诉另一个去读文件的进程写...

2018-07-19 13:06:34 979

原创 Linux进程创建与控制

Linux下进程控制-01进程的创建 1.在上一篇博客中写到了进程的创建,但是讲的有点糙,这篇开篇最为补充。 2.进程的创建主要用到的是fork和vfork 3.看一个简单的实例int main(){ std::cout<<"fork 前"<<std::endl; pid_t pid = fork(); ...

2018-07-18 14:40:33 1546

原创 Linux下进程

进程01.进程是什么? 1.进程是什么?其实当你点开网易云音乐的时候你就会发现的你的任务管理器上有多了一个进程。Linux下也是一样的当你运行一段代码,你也可以通过查看进程从而观察到多了一个进程。但是你可以不要以为进程就是一段代码,代码是“死的”,而进程则是真真切切的“活着的”。 2.从内核来讲,进程是资源分配的最小单位,同样在没有线程的情况下,进程也是程序执行的最小单位。 ...

2018-07-17 13:29:13 518

原创 Python基础---简单语法介绍

Python00.动态强类型——Python 什么是静态?什么是动态?什么是强类型?什么是弱类型? 动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来 静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就...

2018-07-15 17:47:17 706

原创 Linux权限

Linux权限01.Linux下的权限有哪些呢? 读权限:对于文件来讲就是可以读取其内容的权限,对于目录来讲无法查看目录里面的内容(ls 失败) 写权限:对于文件来讲就是可以向文件写数据,对于目录来讲无法删除目录里面的文件 可执行权限:对于可执行文件来讲无法用行(可以看到颜色都变了),对于目录来讲无法进入目录(cd 失败)02.Linux权限的表示方法...

2018-07-15 14:33:16 719

原创 linux基本指令

linux基本指令01.ls 【参数】【文件或目录】 ls指令对于文件来说可以展示其文件名及其他一些信息,如ls -l ,对目录来讲可以列出该目录下的所有子目录,展示该目录的目录结构 ls -a :显示所有,包括隐藏文件 ls -i :显示文件的节点的索引信息 ls -F :显示文件类型,’ / ‘表示是目录,’ * ‘表示普通的可执行文件,’ I ’ 表...

2018-07-15 10:35:04 652

原创 虚函数 & 多态

  虚函数:在类的成员函数前加virtual关键,这时成员函数就是虚函数。这里需要注意的是必须是类的成员函数。 虚函数表:通过一块连续的内存来存储虚函数的地址。在对象的模型里存着。如下所示:  class Base{public: virtual void Fun1() { cout << "Base::Fun1()" << end...

2018-07-13 08:03:11 521

原创 TypeTraits 和Smart Pointer

TypeTraits类型萃取使用模板技术来萃取类型(包含自定义类型和内置类型)的某些特性,用以判断该类型是否含有某些特性,从而在泛型算法中来对该类型进行特殊的处理用来提高效率或者其他。类型萃取是代码复用的一个非常有效的手段,有时候在我们写模板类或者函数时,处理相似的问题可能就一小部分的代码需要进行不同的处理,其他部分的逻辑都是相同的,这时类型萃取就可以做到很好的代码复用,我们能通过

2017-11-24 22:50:01 603

原创 排序算法总结(八种)

排序__比较排序插入排序直接插入排序希尔排序下面实现代码:void InsertSort(int*a ,size_t n){ for (int i = 0; i< n - 1; ++i) { int end=i; int temp = a[end+1]; //假装:temp就是下一个要插入的元素 while (end >= 0...

2017-11-24 18:42:38 620

原创 RBTree

 RBTree:是一棵二叉搜索树,每个节点增加一个存储位来表示节点的颜色,通过任何一条路径的从根节点到叶子简单路径上的颜色来约束,红黑树保证了最长路径不超过最短路径的两倍,因而近乎平衡。RBTree满足的性质:1.每个节点的颜色不是黑色就是红色                                  2.根节点的颜色一定是黑色                       ...

2017-11-02 09:23:29 618

原创 STL-动态内存管理

c语言动态内存管理c语言用malloc calloc realloc/free进行内存管理malloc:

2017-10-22 21:15:39 675

原创 二叉树遍历及其相关问题

二叉树的定义:* 在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。* 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个

2017-10-08 18:21:36 776

原创 类的重载,隐含的this,运算符重载

1.类:是c++中最重要的特征。             类的定义:用关键字class +类名。          类和对象:类是框架,不是具体的实例,而对象则是具体的实例化体现。

2017-10-05 17:42:57 1046

空空如也

空空如也

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

TA关注的人

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