自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AndrewYZWang的博客

keep life simple! stupid

原创 bash-shell--高级编程

bash-shell 1.shell热身 shel热身 2.bash-shell特殊字符的使用 bash-shell特殊字符的使用 3.trap–shell调试的不二人选 trap–shell调试的不二人选 4.tldr一个精简的man手册替代品 tldr一个精简的man手册替代品...

2020-02-01 18:11:26 268 0

原创 linux系列文章

linux文章汇总 VIM bash Makefile uboot u-boot编译过程分析 linux Linux系统编程 Linux/UNIX网络编程

2019-11-09 22:07:43 295 0

原创 linux上常用工具集

工具集 – linux Markdown 编辑器 – Typora Git版本管理软件 – SmartGit Diff 比较软件 – Meld Diff 差异查看器 代码编辑器 – Source Insight 代码查看 – Visual Studio Code 抓包 – W...

2019-03-05 22:51:24 194 0

原创 libevent中指定使用哪种方法如select

在linux中使用libevent时默认使用的方法是epoll,但是有时候我们因为项目需要就需要使用select而不是epoll这个时候可以通过函数event_config_avoid_method(config, "");来进行设置,通过函数名我们可以指导,该函数是制定了要避...

2020-07-09 21:29:28 37 0

原创 Libevent事件的创建-scoke服务的创建-特征的获取和配置

Libevent 简介 Libevent是一款事件驱动的网络开发包,由于采用C语言开发体积小巧,跨平台,速度极快。大量开源项目使用了Libevent比如谷歌的浏览器和分布式的高速缓存系统memcached。libevent支持kqueue,select,poll,epoll,iocp。内部事件机制...

2020-07-09 00:27:55 23 0

原创 Libevent学习环境搭建

Libevent 简介 Libevent是一款事件驱动的网络开发包,由于采用C语言开发体积小巧,跨平台,速度极快。大量开源项目使用了Libevent比如谷歌的浏览器和分布式的高速缓存系统memcached。libevent支持kqueue,select,poll,epoll,iocp。内部事件机制...

2020-07-05 23:45:16 52 0

转载 拔掉 MacBookPro,用 8GB 树莓派4 工作一天,体验原来是这样的

转载 https://mp.weixin.qq.com/s/16tJiCylKOXJT0If5EbDeA https://mp.weixin.qq.com/s/16tJiCylKOXJT0If5EbDeA

2020-06-21 09:46:57 52 0

原创 将输出的数据按照表格的形式进行输出

在实际开发的时候,很多同事想要数据输出的比较整齐都是在printf中直接实用空格进行填充,其实printf中是支持制表符的打印的 — \t 如下: #include <stdio.h> int main(int argc, char **argv) { for ...

2020-06-14 23:31:59 52 0

原创 面向对象的C语言编程-DynamicLinkageGenericFunctions--C语言中的偷梁换柱

文章目录`DynamicLinkageGenericFunctions`Constructors and Destructors方法、信息、类和对象`new``delete``clone``differ``sizeOf``main`总结`TIPS` DynamicLinkageGenericFun...

2020-06-12 00:00:28 58 0

原创 面向对象的C语言编程--如何取结构体指针中的指针

* (const struct Class **) p = class; #include <stdio.h> #include <stdlib.h> #include <assert.h> #include <string.h> #include ...

2020-05-31 23:03:55 153 0

原创 面向对象C语言编程--抽象数据类型-AbstractDataTypes

AbstractDataTypes C语言的灵活 C语言很灵活,不但有基础数据类型,char、int、double等,还允许程序员自定义类型,如: 定义一个链表使用的数据类型,其中有Node节点和自己需要使用的其他数据信息。 typedef struct node { struct nod...

2020-05-30 12:54:29 191 0

原创 通过清华镜像网站下载eclipse

使用官网下载eclipse的速度实在让人受不了,可以使用清华镜像网站下载 eclipse镜像网站

2020-05-17 17:15:23 161 0

原创 GNU-as汇编

GNU as汇编 在编译C语言程序时,GNU gcc编译器会首先输出一个作为中间结果的as汇编语言文件,然后gcc回调用as汇编器把这个临时汇编语言程序编译成目标文件。即实际上as汇编器最初是用于专门汇编gcc产生的中间汇编语言程序的,而非作为一个独立的汇编器使用(这也就是为什么你只调用gcc就能...

2020-05-17 16:54:10 62 0

原创 小s结尾与大S结尾的汇编语言差异

汇编器预处理 as汇编器会对汇编语言进行简单的预处理,该预处理功能会调整并删除多余的 空格字符和制表符;删除所有注释语句并且使用单个空格或者一些换行符替换它们;把字符常数转换为对应的数值。但是该预处理功能不会对宏定义进行处理,也没有处理包含文件的功能。如果需要这方面的功能,那么就可以让汇编语言程序...

2020-05-10 18:54:08 63 0

原创 C语言必知必会-strtok赞歌

strtok的赞歌 标记解析(Tokenizing)是最简单也是最常见的解析问题,也就是根据分隔符把一个字符串分割为几个部分。这个定义覆盖了所有这种类型的任务。根据空白分隔符(例如" \t\n\r"之一)分割单词。假设有个像"/usr/include:/usr/loc...

2020-04-19 00:17:34 75 0

原创 C语言设计新思维分享

没有任何套路,直接获取资源 C语言已经有几十年的历史了,经过长时间的发展和普及,C语言的应用场景也有了很大的变化,一些的老的观念已经不在适用,在这里给大家推荐一本讲C语言特别好的书,《C语言设计新思维》,没有任何套路直接下发领取。 书中展现了传统C语言教科书所不具备的最新的相关技术,如果你有一定的...

2020-04-18 21:57:02 104 0

原创 学习网站大全

算法 可视化算法网站 中文 可视化算法中文网址 可视化算法英文网址

2020-04-18 12:35:00 81 0

原创 C语言库自带的二分查找函数bsearch函数的使用示例

bsearch 使用二分查找,查找一个被排序过的数组 依赖头文件 #include <stdlib.h> void *bsearch(const void *key, const void *base, size_t nmemb, size_t ...

2020-04-13 22:53:55 232 0

原创 linux中以A开头的函数使用方式历程及详解

A开头的Linux C函数 abort 异常终止程序 abort函数在调用的时候,会触发SIGABRT信号 #include <stdlib.h> #include <signal.h> #include <stdio.h> #include <unist...

2020-04-12 16:54:36 45 0

原创 一招让你彻底掌握C语言中运用宏以及#与##的妙用

学习C语言,特别是阅读linux源码的时候,大家经常遇到很多的宏定义,有简单的,当然也有很复杂的。 有事一个宏定义甚至有几十行之多,遇到这种宏定义的大家基本上是一脸懵逼,不知所措,其实想复杂的宏定义没有去深究的价值,简短的才有深究的价值。 但是你不理解这些长的宏定义就无法接着理解接下来的代码,今天...

2020-04-07 00:01:31 55 0

原创 C语言高级技巧-在Makefile中引用你的头文件

在Makefile中添加头文 代码仓库:Makefile中添加头文件引用 我们常这样写C程序: #inlcude <stdio.h> int main(int argc, char *argv[]) { printf("Hello WOrld\n"); ...

2020-04-06 23:22:43 332 2

原创 PlantUML时序图

PlantUML时序图1 plantUML时序图1 PlnatML时序图2 plantUML...

2020-03-30 22:49:56 72 0

原创 UML对象关系与箭头对应表

对象和类 类是构造对象的模板 封装是与对象有关的一个重要的概念,从形式上来看,封装不过是将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。对象中的数据称为实例域,操作数据的过程称为方法。 类之间的关系 在类之间最常见的关系有 依赖(“uses-a”) 聚合(“hsa-...

2020-03-18 00:16:49 75 0

原创 java基础 -- 数据类型,基本程序结构

JAVA基础概念 程序示例 //public 访问修饰符,这些修饰符用于控制程序的其他部分对这段代码的访问级别 // 关键字 class 表明Java程序中全部的内容都包含在类中,这里只需要将类作为加载程序逻辑的容器 //程序逻辑定义了程序的行为 //java应用陈旭中的全部内容都必须放置在类中 ...

2020-03-12 23:48:01 85 0

原创 vscode + plantuml实现uml的编写

工欲善其事,必先利其器。 UML编写利器 vscode+plantuml

2020-02-28 23:20:08 139 0

原创 链接脚本语法

链接脚本语法

2020-02-18 15:12:07 59 0

原创 bash-shell高级编程--操作符与相关主题

操作符与相关主题 操作符 赋值 变量赋值,初始化或者修改变量的值 = 通用赋值操作符,可用于算术和字符串赋值。 var=12 car=bmw # 在=号后面不能出现空白字符的 不要混淆=赋值操作符与=测试操作符 # = 在这里是测试操作符 if [ "$string1" = ...

2020-02-06 20:39:55 221 0

原创 bash-shell高级编程--求最大公约数

一个完整的编程语言肯定少不了对计算能力的支持,同样shell脚本中也提供了对计算能力的支持,下面的脚本就是实现求两个数的最大公约数的shell脚本。 已在ubuntu16.04上验证过 #!/bin/bash # gcd.sh: 最大公约数 #使用Euclid的算法 # 两个整数的"最...

2020-02-01 23:24:05 319 0

原创 bash-shell高级编程--条件判断

条件判断 每一个完整并且合理的程序语言都具有条件判断的功能,并且可以根据条件判断的结果做下一步处理,bash中有test命令,有各种中括号和圆括号操作,和if/then结构 条件测试结构 使用if/then结构判断命令列表的退出码状态是否为0,如果成功的话,那么就执行接下来一个或多个命令。 有一...

2020-02-01 18:04:49 2951 0

原创 使用脚本实现自动清除指定文件夹下丢失链接文件的符号链接

脚本可清除,指定文件夹下,对视链接文件的符号链接。 在使用Linux时,常常会为自己许多文件或者程序建立符号链接,这样就不用每次都到对应的文件夹下去寻找对应的文件而只需要对需要经常访问的文件建立符号链接就可以了,这样就能把你常需要访问的文件放到桌面上,或者指定到另外一个文件夹中。 这样访问时,方便...

2020-02-01 13:33:43 346 0

原创 VS-code中的Postman替代品

REST Client 第一次看到 REST Client 并尝试它时,与现有的软件(如Postman)相比,它似乎不是一个非常有用的工具。 但是,对 REST Client 扩展的用法了解越多,就会意识到它对开发工具的影响有多大,尤其是在测试API 时。 只需要创建一个新文件写入下面这一行: h...

2020-02-01 12:03:41 635 0

原创 bash-shell高级编程--退出和退出状态码

退出和退出状态码 大家都知道exit是用来退出一个脚本,既可以使用exit来结束一个脚本,像常用的C语言一样,它也会返回一个值,这个值会传递给脚本的父进程,父进程会使用这个值做下一步的处理。 其实在linux中执行任何一个命令都会返回一个退出码,成功的命令返回0,而不成功的命令返回非零值,非零值通...

2020-01-30 13:58:48 305 0

原创 bash-shell高级编程--引用

引用 在shell中,引用的意思就是时讲字符串使用双拥好括起来,他的作用就是保护字符串中的特殊字符、不被shell或者shell脚本重新解释,或者扩展。 andrew@andrew:~$ ls -l [Ss]* -rwx------ 1 andrew andrew 3849 1月 19 01:0...

2020-01-29 16:46:27 132 0

原创 shell高级编程--引用

引用 在shell中,引用的意思就是时讲字符串使用双拥好括起来,他的作用就是保护字符串中的特殊字符、不被shell或者shell脚本重新解释,或者扩展。 andrew@andrew:~$ ls -l [Ss]* -rwx------ 1 andrew andrew 3849 1月 19 01:0...

2020-01-24 23:50:03 67 0

原创 bash-高级编程--位置变量

特殊变量类型 局部变量 这种变量只有代码块或者函数中才可见 如果变量用local 来声明, 那么它就只能够在该变量被声明的代码块中可见. 这个代码块就是局 部"范围". 在一个函数中, 一个局部变量只有在函数代码块中才有意义. 环境变量 这种变量将影响用户接口和shell的行为...

2020-01-18 23:01:54 144 0

原创 ubuntu16.04上安装graphy-easy

Graph::Easy 是一个处理图形DSL的Perl模块,它有如下功能: 提供了一种易懂,可读性很强的图形描述语言 一种支持 ASCII Art 的基于网格的布局器 可以导出为 Graphviz, VCG (Visualizing Compiler Graphs), GDL (Graph Des...

2020-01-18 22:44:32 172 0

原创 bash-高级编程--变量和参数介绍

文章目录变量的替换使用trap设计一个用于反应程序执行过程的脚本变量的赋值`bash`变量是不区分类型的特殊变量类型 变量是什么,变量是脚本编程中进行数据表现的一种方法,说白了,变量不过是计算机为了保留数据项,而在内存中分配的一个位置或一组位置的标识或名字。 变量的替换 变量的名字就是保存变量值的...

2020-01-16 21:55:43 244 0

原创 HTTP协议详解

HTTP协议详解 HTTP的主要特点 支持客户/服务器模式。 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有 GET、HEAD、 POST。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的程序规 模小,因而通信速度很快。 灵...

2020-01-15 00:12:24 277 0

原创 Linux中文件加锁

/proc/locks andrew@andrew-Thurley:/dev$ cat /proc/locks 1: POSIX ADVISORY WRITE 8968 08:01:11666907 1073741825 1073741825 2: POSIX ADVISORY READ...

2019-12-22 22:12:36 421 0

原创 enum-使用宏管理你的枚举型数据

高级枚举型定义实现 C源文件 #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <string.h> #include <unistd.h> #inc...

2019-12-08 22:58:24 111 0

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