自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 资源 (5)
  • 收藏
  • 关注

原创 程序员,再见!

从过年前一段时间开始,有了不干程序员的想法,觉得程序员这一行不适合我。到昨天,2020年3月12日,终于做出了决定,向公司提交了离职申请,理由很简单,转行不做程序员了,领导想挽留也没有办法。填完离职申请之后,顿时感觉整个人放下了一些。 先介绍一下本人情况吧,19年7月大学毕业,江苏一所普本毕业,高考没怎么发挥好,上了个普通一本(其实发挥好点也就是211而已),大学期间当了四年班长...

2020-03-13 12:00:19 2059 12

转载 Android ADB命令大全

adb的全称为Android Debug Bridge.是android司机经常用到的工具.但是问题是那么多命令写代码已经够费劲了,过段时间在次使用时压根记不住呀.本次的大餐就是为此开篇的.这一次我们不记命令.要用随时过来ctrl+F呀.哇哈哈哈!本篇ADB集锦不管是常用还是冷门的都有.客观您随意看.你能在本篇文章中收获什么? adb基本指令 She...

2020-01-03 10:43:09 477

转载 android am pm命令

今天看了下adb shell中的am pm命令,一些自己的见解和大多数官网的翻译。先说下am命令,am全称activity manager,你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等。当你在adb shell命令下执行am命令:am <command>你也可以在adb shell前执行am命令:ad...

2020-01-03 10:41:07 522

转载 理解静态库与动态库(浅谈静态动态库的区别)

理解静态库与动态库静态库概念静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库特点可执行文件中包含了库代码的一份完整拷贝静态库的代码是在编译过程中被载入程序中缺点就是被多次使用就会有多份冗余拷贝动态库(动态链接库)概念动态链接提供了一种方法,使进...

2019-12-04 14:35:59 895

原创 CMake-添加编译时选项的几种方式

https://www.cnblogs.com/Need4Speak/p/5397949.htmlhttps://blog.csdn.net/stanwayll/article/details/72674741https://blog.csdn.net/weixin_33748818/article/details/94639527https://blog.csdn.net/qq_34...

2019-11-25 15:13:21 3466

转载 protobuf中.proto文件语法

https://www.jianshu.com/p/6a6dbff2b5cd

2019-11-21 11:26:01 300

转载 macOS - 使用终端启动 sublime(软链接)

https://blog.csdn.net/lovechris00/article/details/80892349

2019-11-19 19:31:50 384

原创 iOS-OpenGLES入门参考教程

简书大佬写的非常好的入门级别OpenGLES开发教程借鉴参考,关注大佬https://www.jianshu.com/p/9f69ace45177https://www.jianshu.com/p/759de72fc649https://www.jianshu.com/p/0d1d2add19ea...

2019-11-14 11:03:21 648

转载 xcodebuild使用总结

https://blog.csdn.net/hdwhappy/article/details/60767078

2019-11-04 11:49:36 1566

原创 Docker及Jenkins安装使用

Docker 安装及使用教程: https://www.runoob.com/docker/docker-tutorial.htmlJenkins 官方教程 https://jenkins.io/zh/doc/tutorials/安装教程 https://blog.csdn.net/pretent/artic...

2019-11-01 09:56:38 176

转载 Xcode创建iOS项目基本操作——转载

https://blog.csdn.net/SSIrreplaceable/article/details/51925144

2019-10-16 15:07:08 524

转载 编程命名规则:驼峰命名法和匈牙利命名法

1.驼峰命名法(Camel-Case) 驼峰命名法(Camel-Case)是电脑程序编写时的一套命名规则(惯例)。程序员们为了自己的代码能更容易的在同行之间交流,所以才取统一的可读性比较好的命名方式。例如:有些程序员喜欢全部小写,有些程序员喜欢用下划线,所以如果要写一个my name的变量,他们常用的写法会有myname、my_name、MyName或者myName。这...

2019-09-17 09:59:40 1479

转载 cmake 输出物

cmake 输出物:RUNTIME 输出物:一个子系统的运行时输出物目标可以是下面的东西: 可执行的文件(.exe)由add_executable()命令创建 在 DLL 平台:它是共享库的可执行文件(.dll),由add_library()命令生成后跟SHARED 选项来创建.RUNTIME_OUTPUT_DIRECTORY和RUNTIME_OUTPUT_NAME 目标...

2019-08-20 17:07:45 542

原创 CMAKE——set()函数及常用变量名

set : 将一个 CMAKE 变量设置为给定值。set( <variable> <value> [[CACHE <type> <docstring> [FORCE]] | PARENT_SCOPE])将变量<variable>的值设置为<value>。在<variable>被设置之前,&...

2019-08-20 15:51:20 5982

原创 CMAKE——message()函数

message :为用户显示一条消息。message( [STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...)可以用下述可选的关键字指定消息的类型:(无) = 重要消息; STATUS = 非重要消息; WARNING = CMake 警告, 会继续执行; AU...

2019-08-20 15:39:59 43490 2

转载 CMake自带变量

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/ljp341621/article/details/81979758———————————————— 转载地址:https://blog.csdn.net/ljp341621/article/details/81979758...

2019-08-20 15:05:39 413

转载 Cmake中使用cotire进行编译优化,提高编译速率

一、预编译头当工程大了,单机编译速度会很慢。预编译头会提高很大的速度。相关原理这里不赘述,网上很多。(或者老夫有空的时候再补充)​二、cmake设置gcc的预编译头一开始google到一个国内同行写的cmake宏,用了下,貌似不是很好用。另外作者也表示还是有bug。后来找到cotire。目前使用良好。三、cotire(compile ti...

2019-08-06 14:19:19 2380

原创 linux 16.04更新gcc版本(切换版本)

将版本更新至gcc-81.下载gcc-8、g++-8sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo sudo apt-get updatesudo apt-get install -y g++-82.切换版本cd /usr/bin #进入/usr/bin文件夹下sudo rm -r gcc...

2019-07-16 10:46:59 2222

转载 【C++ 】 format 函数详解

C++ format 函数C++编程Format是一个很常用,却又似乎很烦的方法,以下是它的完整概貌,以供大家查询之用:一、字符串首先看它的声明:function Format(const Format: string;const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在...

2019-07-09 14:50:49 19497

原创 JavaScript基础入门——语法

一:简介 JavaScript是一种解释性程序设计语言、不需要编译器、只需要解释器。Web浏览器负责完成有关的解释和执行工作。 编译JavaScript不需要任何特殊工具(有则更加、比如jetbrainswebstorm,Sublime Text等神器)。 页面中使用JavaScript:1、在页面中任何位置添加<script> //body…</s...

2019-07-08 10:21:47 1800

原创 Objective-C语法入门——与C/C++不同点

与c/c++不一样的地方1) .h 和 .m; .m是实现文件; #import导入头文件; @class类声明。2) @property getter/setter申明; @synthesis getter/setter实现3) @interface child:parent<protocol1, protocol2> 类声明---只能单继承---可以多个pro...

2019-07-05 10:58:59 377

原创 Objective C基础教程——Xcode工程创建

Objective-C只不过是拥有一些附加特性的C语言。本文将构建第一个Objective-C程序,同时介绍一些关键的附加特性。 ##2.1 最简单的Objective-C程序 我们来写一个最简单的Hello World。 ###构建Hello Objective-C 此时我们需要一个IDE(Integrated Development Environment)在这里我们需要Xcode。打开Xco...

2019-07-05 10:51:29 598

转载 Objective-C 基础教程——入门

来自 http://www.runoob.com/w3cnote/objective-c-tutorial.htmlObjective-C 是一种简单的计算机语言,设计为可以支持真正的面向对象编程。Objective-C 通过提供类定义,方法以及属性的语法,还有其他可以提高类的动态扩展能力的结构等,扩展了标准的 ANSI C 语言。类的语法和设计主要是基于 Smalltalk,最早的面向对...

2019-07-05 10:35:42 1429

原创 backtrace和backtrace_symbols函数原理解析

backtrace()是glibc(>=2.1)提供的函数,用于跟踪函数的调用关系。以下对backtrace()函数的说明以及实例,都来自其man page。函数定义 #include <execinfo.h> int backtrace(void **buffer, int size); char **backtrace_...

2019-04-02 10:48:27 10603 2

原创 Linux Signal信号详解

信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。一、信号的基本概念本节先介绍信号的一些基本概念,然后给出一些基本的信号类型和...

2019-04-02 10:17:33 325

原创 Linux下top命令底层源码Demo

#include <stdio.h>#include <string.h>#include <stdlib.h>#include <dirent.h>#include <sys/types.h>#include <ctype.h>#include <unistd.h>#include <grp...

2019-03-27 14:25:01 2518

原创 pip install 和 apt-get install 用法与区别

在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢?1.区别pip用来安装来自PyPI(https://www.python.org/)的python所有的依赖包,并且可以选择安装任何在PyPI上已上传的先前版本的依赖包,个人认为是python相关的包和第三方包以及各种版本;apt...

2019-03-19 14:19:12 5616

原创 ubuntu中运行python脚本

1. 运行方式一新建test.py文件:(终端命令)touch test.py然后vim test.py打开并编辑:print 'Hello World'打开终端,输入命令:python test.py输出:Hello World2. 运行方式二这部分内容只对Linux/Unix用户适用,不过Windows用户可能也对程序的第一行比较好奇。...

2019-03-14 17:14:37 8104 3

原创 Android Tombstone(墓碑日志)解决步骤

最近在学习通过墓碑文件定位bug所在位置,网上浏览了很多的博客,大多数只能做到利用addr2line定位到行号但是对于大型项目,尤其是C++代码较多的情况下,很难去准确定位到内存越界、内存溢出等问题(全球性难题,没办法)。在这里整理一下,尽量给自己和大家提供一些路径:1. https://blog.csdn.net/Zhanganliu/article/details/87715961...

2019-03-07 11:32:28 5190

原创 如何在进程崩溃后打印堆栈并防止数据丢失

进程在运行过程中遇到逻辑错误, 比如除零, 空指针等等, 系统会触发一个软件中断.这个中断会以信号的方式通知进程, 这些信号的默认处理方式是结束进程.发生这种情况, 我们就认为进程崩溃了.进程崩溃后, 我们会希望知道它是为何崩溃的, 是哪个函数, 哪行代码引起的错误.另外, 在进程退出前, 我们还希望做一些善后处理, 比如把某些数据存入数据库, 等等.下面, 我会介绍一些技术来达成这...

2019-03-06 10:00:12 1426

原创 C语言字符检测函数:isalnum、isalpha、isascii、iscntrl、isdigit、isgraph、islower、isspace、ispunct、isupper

C语言中文网http://c.biancheng.net/cpp/html/112.html 头文件:#include&lt;ctype.h&gt;(1)isalnum(c)检查参数 c 是否为英文字母或阿拉伯数字, 在标准c 中相当于使用"isalpha(c) || isdigit(c)"做测试.【参数】c 为需要检测的字符。【返回值】若参数c 为字母或数字,若 c 为 ...

2019-03-04 15:16:58 1446

原创 isspace()函数

原型:extern int isspace(int c) 用法:#include &lt;ctype.h&gt; 功能:判断字符c是否为空白符 说明:当c为空白符时,返回非零值,否则返回零。(空白符指空格、水平制表、垂直制表、换页、回车和换行符。) 举例: /*isspace.c*/ #include &lt;stdio...

2019-03-04 15:07:52 17509

原创 重载new和delete来检测内存泄漏

1. 简述 内存泄漏属于资源泄漏的一种,百度百科将内存泄漏分为四种:常发性内存泄漏、偶发性内存泄漏、一次性内存泄漏和隐式内存泄漏。 常发性指:内存泄漏的代码会被多次执行到。偶发性指:内存泄漏的代码只有在特定的条件下才会执行到。一次性指:内存泄漏的代码只会被执行到一次。隐式指:程序在运行中不断的开辟内存,知道程序结束时才释放内存,本质上虽然没有内存泄漏,但是如果这个程序在连续运行很...

2019-02-28 14:39:07 889

转载 重载operator new/delete/new[]/delete[]

https://blog.csdn.net/weixin_41256413/article/details/82950003此博客转载上面的博客,便于查看https://blog.csdn.net/hizhangyuping/article/details/80624506源码详解,读书万遍、其义自现http://www.cppblog.com/dawnbreak/articles...

2019-02-28 10:45:33 229

原创 access()函数的用法

1.函数功能:检查调用进程是否可以对指定的文件执行某种操作。2.函数原型:1)函数头文件    #include &lt;stdio.h&gt;    #include &lt;unistd.h&gt;2)函数int access(const char * pathname, int mode)3)形参pathname:需要检测的文件路劲名mode:需要测...

2019-02-26 16:25:33 7459

原创 内存越界详解

内存越界是软件系统主要错误之一,其后果往往不可预料且非常严重。更麻烦的是,它出现的时机是随机的,表现出来的症状是随机的,而且造成的后果也是随机的,这会使程序员很难找出这些 Bug 的现象和本质之间的联系,从而给 Bug 的定位带来极大的困难。一般情况下,内存越界访问可分如下两种:读越界,即读了不属于自己的数据。如果所读的内存地址是无效的,程序立刻崩溃;如果所读内存地址是有效的,在读的时候不会马...

2019-02-26 12:01:33 6084 1

原创 内存泄漏详解

简介内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。内存泄漏缺陷具有隐蔽性、积累性的特征,比其他内存非法访问错误更难检测。因为内存泄漏的产生原因是内存块未被释放,属于遗漏型缺陷而不是过错型缺陷。此外,内存泄漏通常不会直接产生可观察的错误症状,而是逐渐积累,降低系统整体性能,极端的...

2019-02-26 12:00:02 657

转载 Android Tombstone/Crash的log分析和定位(墓碑文件)

=====项目中遇到进程挂掉的问题,需要分析Tombstone,本文帮了大忙http://blog.csdn.net/helldevil/article/details/6682211 9楼 adits 2013-04-22 16:20发表 [回复] [引用] [举报]命令使用有误:原文: addr2line -e -f libc.so 0001173c 应该是addr...

2019-02-19 16:26:41 4787 1

原创 Android.mk详解

Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。要掌握jni,就必须熟练掌握Android.mk的语法规范。 一、Android.mk文件的用途 一个android子项目中会存在一个或多个Android.mk文件 1、单一的Android.mk文件 直接参考NDK的sampl...

2019-02-15 09:53:44 378

转载 Linux 下cmake生成SO库的使用实例

1、创建我的共享库:MySharedLibCMakeLists.txt cmake_minimum_required(VERSION 2.8) project(MySharedLib) # C++11 编译 set(CMAKE_CXX_STANDARD 11) #创建共享库 add_library(MySharedLib SHARED libr...

2019-02-13 17:07:42 3491 1

git实际操作最实用版.ppt

里面包含了git如何下载、安装,提交代码由浅入深,以及日常开发中经常使用的一些操作,很适合学习使用!

2019-09-05

ZeroMQ中文指导手册.pdf

ZeroMQ库的中文指导手册,从最开始的框架开始教,一步步搭建起通信框架,很适合初学者学习

2019-08-27

ZeroMQ官方文档中文版.pdf

ZeroMQ官方英文文档的中文翻译版,从最基础的ZeroMQ通信框架开始讲解,适合初学者,非常值得学习

2019-08-27

gdb完全手册

最适合学习GDB调试的教程,由浅入深,从入门到熟练,自己亲身体会,值得学习。

2018-12-24

Synergy (win10和Ubuntu16.04两台电脑公用一套键鼠)

软件:synergy 用于在win10系统和Ubuntu16.04系统下 两台电脑公用一套键鼠

2018-12-19

空空如也

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

TA关注的人

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