自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (42)
  • 问答 (1)
  • 收藏
  • 关注

转载 linux c之信号signal处理机制

最近同事的程序设计过程中用到了Linux的signal机制,从而引发了我对Linux中signal机制的思考。Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此,在实时性方面还是相对比较高的。Linux中signal机制的模型可以采用下图进行描述。个进程都会采用一个进程控制块对其进行

2017-01-18 16:45:46 15865

转载 linux之内核剖析

Linux 内核简介现在让我们从一个比较高的高度来审视一下 GNU/Linux 操作系统的体系结构。您可以从两个层次上来考虑操作系统,如图 2 所示。图 2. GNU/Linux 操作系统的基本体系结构上面是用户(或应用程序)空间。这是用户应用程序执行的地方。用户空间之下是内核空间,Linux 内核正是位于这里。GNU C Library (glibc)也在这里。它提供

2017-01-18 15:45:07 2315

转载 linux c之孤儿进程与僵尸进程[总结]

转载地址:http://www.cnblogs.com/Anker/p/3271773.html1、前言  之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理

2017-01-17 21:01:44 2942

原创 linux之awk命令

1、awk解释awk是linux环境下的一个命令行工具,但是由于awk强大的能力,我们可以为awk工具传递一个字符串,该字符串的内容类似一种编程语言的语法,我们可以称其为Awk语言我们一般使用awk来做什么,awk又适合做什么工作呢。由于awk天生提供对文件中文本分列进行处理,所以如果一个文件中的每行都被特定的分隔符(常见的是空格)隔开,我们可以将这个文件看成是由很多列的文本组成,这样

2017-01-17 17:53:57 2532

原创 Android之一张类图说明AMS

2017-01-17 09:20:33 3290

原创 linux之sed命令详解

sed命令详解:sed是stream editor的简称,也就是流编辑器。它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。使用语法:sed命令的使用规则是

2017-01-16 20:19:38 2447

原创 linux之学习linux系统相关的书籍

1.《鸟哥的Linux私房菜-基础学习篇》2.《Linux Shell 脚本攻略》3.《Unix环境高级编程》4.《Linux系统编程》5.《Linux内核设计的艺术》6.《Linux内核设计与实现》

2017-01-16 09:53:28 2570

原创 linux c之wait和waitpid函数的用法和总结

1、wait和waitpid函数的介绍 1) wait()函数用于使父进程(也就是调用wait()的进程)阻塞,直到一个子进程结束或者该进程接收到了一个指定的信号为止。如果该父进程没有子进程或者它的子进程已经结束,则wait()函数就会立即返回。 2) waitpid()的作用和wait()一样,但它并不一定要等待第一个终止的子进程(它可以指定需要等待终止的

2017-01-13 17:56:56 31454 2

原创 linux之tr命令使用和总结

1、tr命令介绍用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。带有最常用选项的tr命令格式为:tr -c -d -s ["string1_to_translate_from"][

2017-01-13 16:59:11 2590

原创 linux之cut命令使用和总结

cut是一个选取命令:就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。(1)其语法格式为:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]使用说明cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File

2017-01-13 16:40:25 2802

原创 linux c之main(int argc, char *argv[], char *envp[])参数意义

1、问题我们常见的int main(int argc, char *argv[], char *envp[]) 各个参数的意义2、代码#include#includeint main(int argc, char *argv[], char *envp[]){ printf("argc ###\n%d\n",argc); puts("argc e

2017-01-13 10:36:46 5173

原创 linux c之创建进程fork和vfork函数之间的区别

1、函数简介 1)、得到当前的进程idpid_t getpid(); 2)、fork函数 要创建进程,必须调用fork函数, 系统调用fork用于派生一个进程,函数原型如下 #include #include pid_t fork(void) 若成功,父进程

2017-01-12 20:36:32 4186

原创 linux c之出现warning: implicit declaration of function ‘exit’ [-Wimplicit-function-declaration]这个问题

1、问题:2、解决办法:先执行下面命令看exit在哪个头文件下面man exit效果如下图加上头文件编译,问题就解决了3、 总结 如果看到编译的时候提示wall,我们首先是找到报警搞的函数,再用man 命令来 man 函数,然后找到头文件就,加上即可。

2017-01-12 17:54:05 54818 4

原创 linux c之用fwrite和fread实现文件的复制

1、题目 用fwrite和fread函数实现文件的复制2、函数解释#include<stdio.h>size_t fread(void *ptr, size_t size, size_t nmemb, FILE *FP);size_t fwrite(const void *ptr, size_t size, size_t nmemb, FI...

2017-01-11 15:29:02 12542 2

原创 linux c之用fputc和fgetc复制文件并且打印在终端

1、fputs和fgetc相关函数解释1、字符的输出#includeint getc(FILE *fp)int fgetc(FILE *fp)int getchar(vaid)3个函数若成功返回读入的字符值,若出错或则到末尾返回EOF,EOF为常量是-12、字符的输入#includeint putc(int c, FILE *fp)int fputc(i

2017-01-10 22:07:35 3871

原创 linux c之fdopen(int fd, const char *type)使用总结

1、fdopen(int fd, const char *type)的介绍比如一写特殊文件不能用io打开,我们先要用open函数得到文件描述符,也就是这个fdopen函数的第一个参数,第二个参数是常量,不同类型不同意义,如下图2、代码演示#include#includeint main(void){ FILE *fp; int fd; if ((f

2017-01-10 16:32:13 8984 3

原创 linux之文件类型

1 、纯文本文件这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容为我们可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容2、二进制文件我们在GNU发展史中提过,系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的

2017-01-10 10:47:25 2747

原创 linux c之用fopen、fputs、fgets、 fseek来对文件进行写、替换、读

1、函数说明1、fgets#include char *fgets(char *s, int size, FILE *stream);功能:从文件流读取一行,送到缓冲区,使用时注意以下几点: 返回值:成功时s指向哪返回的指针就指向哪,出错或者读到文件末尾时返回NULL2、fputs#includeint fputs(cons

2017-01-09 20:47:31 12450

原创 linux c通过文件描述符以及write和read方法对文件进行读写

1、write和read方法讲解#includessize_t read(int fd, void *buf,size_t count);fd为文件描述符,buf缓冲区指针,count表示要读取的字节数返回:读到的字节数,若已经到文件尾端返回0,出错返回-1#includessize_t write (int fd, void *buf, size_t count);

2017-01-09 20:24:33 12091 1

转载 linux c中的文件描述符与打开文件之间的关系

转载请说明出处:http://blog.csdn.net/cywosp/article/details/389652391. 概述    在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件

2017-01-09 19:47:45 3006

原创 linux c头文件#include<sys/types.h>和#include<fcntl.h>头文件总结

#include的介绍是Unix/Linux系统的基本系统数据类型的头文件,含有size_t,time_t,pid_t等类型。linux编程中经常用到的头文件。clock_t 表示系统时间(以时钟周期为单位)。  dev_t 用于设备号。  off_t 用于文件大小和偏移量。  ptrdiff_t 是一种带符号整型,用于对两个指针执行减法运算后所得的结果。  siz

2017-01-09 11:00:13 8340

原创 linux c之#include <unistd.h> 总结

1、解释unistd解释为unix 标准的输入输出2、常用函数主要函数是文件的读、写、得到进程的idssize_t read(int, void *, size_t); // 读取文件使用int unlink(const char *);ssize_t write(int, const void *, size_t); // 写文件

2017-01-09 10:03:46 6401

原创 linux c用open打开(创建)一个文件

1、文件描述符Linux操作系统内核(kernel)利用文件描述符来访问文件,文件描述符大于等于0,是一个用户描述被打开文件的索引值,它指向该文件的相关信息记录表,当文件打开或者创建新文件的时,就会返回一个文件描述符,当读写文件时,也需要使用文件描述符来指定特写文件。2、讲解open函数文件需要先打开或则创建如果返回是-1, 则出错,如果成功,则返回文件描述符第一个

2017-01-07 17:18:25 42487 2

原创 linux之用一张图片说明文件系统结构

2017-01-07 10:25:11 2733

原创 linux c的连接库和怎么同时编译多个源程序

1、理解库函数 库函数有头文件和库文件(so 或者 a)的集合 1)头文件的默认目录 /usr/include 2)库文件的默认目录 /user/lib 3)linux的库文件分为动态连接库(.so)和静态连接库(.a) 他们之间的差距在于程序执行时所需代码是运行时加载的,海山编译

2017-01-07 10:13:07 7300

原创 linux c 之使用-O来优化gcc

比如一般文件编译gcc bfs.c -o bfs然后查看花了多少时间time ./bfs然后看结果使用-O 优化,输入下面命令gcc -O bfs.c -o bfs再看所需时间,输入下面命令time ./bfs结果如图我们还可以进一步优化用 -O1 -O2 -O3,列如gcc -O2 b

2017-01-06 18:10:36 2615

原创 数据结构之深度优先搜索(用栈实现)问题

深度优先搜索可以这样理解,向四边延伸搜索,然后遇到不能搜索的时候就回退,也就是回溯思想,然后再去其它可能地方搜索。题目:定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0

2017-01-06 12:29:51 10044

原创 八皇后问题(三)

八皇后问题(三) 思路:用递归实现,既然是深度优先搜索,采用回溯思想,一般都可以用递归来实现。代码:#include#includeint a[512] = {0};int n;int sum;int check_queen(int a[], int n){ for (int i = 1; i < n; i++) if (fabs(n

2017-01-05 17:32:37 2465

原创 八皇后问题(二)

1、八皇后问题(二)思路:我们采取回溯的方法来解决,还是那样表示,比如数组a, a[1] = 8;表示这个放在第一行第八列2、代码实现:#include#include/* *采用回溯的方法实现 * */void second_queen(){ int a[512] = {0}; int i = 1, n; printf("请输入几皇宫问题"

2017-01-05 15:53:37 2416

原创 八皇后问题(一)

问题描述:要在8*8的国际象棋棋盘中放8个皇后,使任意两个皇后都不能互相吃掉。规则是皇后能吃掉同一行、同一列、同一对角线的棋子。如下图即是两种方案:思路:比如我们搞个数组,数组的下表表示多少行,然后数值表示多少列,比如a[4] = 5,意思就代表第四行,第五列首先看不再同一行、同一列、同一对问题,我们数组依次增大,所以不会同行,至于同列,我们可以推出a[i] = a[j

2017-01-04 21:45:42 2617

原创 linux c之加入了加入原文件 math.h调用abs()函数出现implicit declaration of function错误

今天在vim 写C语言的时候代码我已经导入了#include但是当我调用ads()函数的时候出现了下面错误解决办法:把abs函数改写成fabs函数就行,然后去网上找原因,发现fabs是求浮点数的,ads求整形的,以后在linux上就用fabs函数就可以了

2017-01-04 11:24:45 9842 2

原创 数据结构之广度优先搜索(队列实现)问题

Description定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。

2017-01-03 22:08:19 5133

原创 linux之vim怎么跳到指定的一行

刚才用vim的时候,发现光标跳转到指定一行非常方便。比如我们要跳到文件的80行,输入下面命令80gg 也可以用G代替gg80G我们知道下面这个命令是跳到第一行gg下面命令跳转到最后一行G

2017-01-03 21:23:58 32358

原创 linux之怎么使vim永久显示行号

1、进入当前用户目录2、输入下面命令vim ~/.vimrc 3、退出保存:x4、用vim打开文件验证

2017-01-03 19:51:14 3703 2

原创 linux C语言之called object ‘maze’ is not a function or function pointer printf(“%d\t“, maze(i, j))

今天写广度优先搜索的时候出现了这个问题,解决办法:特么我傻逼了,明显是数组,我写成了mate(i, j),然后我改了写成了mate[i, j];特么我又傻逼了改成mate[i][j] 就可以了

2017-01-03 17:39:27 12150

WebViewTest.7z

Android长按WebView然后替换系统的菜单,自定义自己的菜单,比如“搜索”、“翻译”自己获取值了在自己的WebView里面进行相关操作。

2022-01-09

Android之常用命令和工具.pdf

1、里面有常见的如何快速获取app包名和拉取apk和直观的打日志的命令总结 2、快速获取启动奔溃日志的总结 3、一些日志工具和常见命令的分享 4、常见的逆向分析工具分享 5、常见的移动端抓包工具分享 6、移动端常用的文档分享 7、git和svn常用命令精简分享 8、移动端常用的hook分享(java层、c/c++层)

2021-04-01

TestDragRecycleView.7z

这里主要实现RecycleView的拖拽元素效果,和禁止哪些元素再拖拽的过程中不交换位置,一定可以保证功能没问题。

2020-12-30

AliHome.zip

主要是实现支付宝顶部上滑的时候,渐渐的变消失效果,然后部分布局又出现的效果,放到Android studio里面可以直接运行

2020-07-11

NotchScreenUtil.zip

这个资源主要是封装了对4种主流手机是否是刘海屏的判断,以及如何获取4种刘海屏高度的,比如oppo手机刘海屏高度固定80px等。

2020-03-06

math-basics.rar

宾夕法尼亚大学计算机和信息科学系教授 Jean Gallier 的开源书籍《 Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Engineering 》用一本书的容量解决了所有问题。 这本书涵盖了计算机科学所需的线性代数、微分和最优化理论等问题,可谓详尽。 链接: http://www.cis.upenn.edu/~jean/math-basics.pdf 这本书讲了什么? 这本书的主要目的是介绍线性代数和最优化理论的基础知识以及这些知识在机器学习、机器人学、计算机视觉等领域的应用。 该书包含以下 10 卷: 线性代数 仿射几何和射影几何 双线性形式的几何 几何:PID、UFD、诺特环、张量、PID 上的模块、规范形 拓扑和微分 最优化理论基础 线性优化 非线性优化 在机器学习中的应用

2019-08-01

动手学习深度学习PDF.rar

这个是最新出版的”动手深度学习“,我们可以在这里学习深度学习。

2019-06-22

c_log_to_file.txt

如果服务端是linux c/c++,你如果你在后台开了调试日志,如果日志打印很多,几秒时间就刷掉了,你需要打印关键日志,这个时候你可以用这个文件内容修改下把日志输入到指定文件里面

2019-06-15

Source Insight黑色和灰色的背景配置

这里主要是一些source insight背景的配置,有黑色和灰色,在D:\Users\User\My Document\Source Insight\Settings 这个目录下放进去,关闭source insight和打开source insight就行了

2019-04-23

Xshell5(Xshell5免费)

this is xhell5 . it can help me connect linux ,so you can use command at linux

2019-03-21

linux shell脚本攻略2

the pdf will tell you learn linux shell ,If you want to learn, please download the pdf

2019-03-06

linux网络编程和code

这里是关于linux的网络编程,和部分code,有需要的小伙伴可以直接到这里下

2018-12-22

C语言深度解剖

这里面是C语言深度解剖的pdf.我们学C的时候这个和一起对比学习

2018-12-14

linux高性能服务端编程

这个pdf里面介绍了linux高性能服务端编程,主要书用linux c/c++作为服务端.

2018-12-12

xshell(windows)

we need to use xshell at windows desktop. this will support you to download.

2018-12-05

linux网络源码分析

这是在网上下载的很好的网络源码分析的资料,分享给大家

2018-11-27

深入理解LINUX网络技术内幕

这是在网上看到的资料,我先下载下来然后再上传,怕以后用得到。

2018-11-27

linux多线程服务器编程

这是在公司同事那里看到的一本书,写的是linux多线程服务器编程

2018-11-16

qt client server

这是一个QT客户端和服务单的例子,非常经典,先保存起来

2018-11-02

c++编程实例

这里有很多C++的例子,方便快速入门,希望大家下载,我很多也不是很熟悉

2018-10-18

C++一些游戏源码

这里面很多c++的源码,适合新手写代码,里面有一些游戏

2018-10-18

判断手机是否打开消息通知

这个类主要是帮助我们在android移动端判断是否开启了"消息通知"的权限,同时打开相应的界面,也支持Androd8.0

2018-09-23

Android打印当前app的日志工具类

这个脚本注意是利用了pidcat.py这个脚本,然后放到linux系统的/usr/local/bin/目录下,然后执行pcat命令就可以打印当前页面的app日志

2018-09-20

打开自启动的帮助类

这里主要是打开安卓各个手机的的"自启动"或"受保护"或"百名单"的页面,适配了华为 小米 vivo oppo 三星 魅族 360手机

2018-09-20

压缩文件的工具类

Android压缩sdcard目录下的文件,压缩成zip格式的文件,压缩率1:20

2018-09-08

Android调用第三方的so

Android调用第三方的so,简单开发的配置mk文件,然后和调用代码测试

2018-09-08

HttpURLConnection的封装

HttpUrlConnect的封装,我们可以使用HttpRequest来请求一些东西

2018-06-08

pidcat.py_in_ubuntu

In order to print Android log and have class name, We often use the pidcat.py on ubuntu, This will help me sovle problem better

2018-05-12

网络请求工具

网络请求的部分工具

2018-05-09

Android下载APK

Android下载APK简单例子,这里有提示框,然后提示进度。

2018-04-25

pc web access phone file

this is Android program, and jni using c language, we can use web browser to access phone sdcard file and download wo required file

2017-12-25

ndk调用第三方so

ndk调用第三方sondk调用第三方sondk调用第三方sondk调用第三方so

2017-12-02

Android三级列表

用ExpandableListView写的三级列表

2017-05-11

Hook StartActivity Demo

Hook StartActivity Demo

2016-11-17

jadx用开反编译APK的工具

you can gadx apk on windows or linux

2016-11-15

ubuntu上面使用jni例子

ubuntu上面使用jni例子

2016-11-07

TrayPreferences需要的包

使用跨进程的TrayPreferences需要的包

2016-08-27

zxingproject

最简单的扫二维码,我到网上找了很多资源,不是少了这里就是少了那里,都不是很全面,这个是组简单的。

2016-01-05

MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动

Android之玩转MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动

2015-11-30

手机摇一摇震动刷新(支持ListView GridView WebView)

这是我写的手机摇一摇震动刷新(支持支持ListView GridView WebView)并生成二维码的源码,我的Github上面有更多的效果介绍,有兴趣的小伙伴猛戳吧,https://github.com/changechenyu/ShakeToFresh 如果觉得很好玩或者有创意就star我吧

2015-11-09

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

TA关注的人

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