博客园 - AlexAlexuuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=1826852022-03-10T00:47:16ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/feed.cnblogs.comhttps://www.cnblogs.com/wanpengcoder/p/15987946.htmlSource Insight 4.0不定时崩溃的解决方法 - AlexAlex去掉自动更新项勾选 Options->Preferences->General->Automatically check for software updates2022-03-10T00:47:00Z2022-03-10T00:47:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】去掉自动更新项勾选 Options->Preferences->General->Automatically check for software updates <a href="https://www.cnblogs.com/wanpengcoder/p/15987946.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/14370942.htmlshell脚本含有压缩数据块 - AlexAlex在配置交叉编译环境的时候,使用到一个脚本,脚本很大,以前也没有细究这个问题,大概知道是自解压,趁着年底事少,分析一下这个脚本的原理。 原理比较简单,脚本尾部含有一个压缩过的二进制数据块,在脚本配置的过程中,会读取并解压这个数据块,然后完成配置。 #!/bin/bash #前置配置过程,用来检查前置条2021-02-04T01:50:00Z2021-02-04T01:50:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】在配置交叉编译环境的时候,使用到一个脚本,脚本很大,以前也没有细究这个问题,大概知道是自解压,趁着年底事少,分析一下这个脚本的原理。 原理比较简单,脚本尾部含有一个压缩过的二进制数据块,在脚本配置的过程中,会读取并解压这个数据块,然后完成配置。 #!/bin/bash #前置配置过程,用来检查前置条 <a href="https://www.cnblogs.com/wanpengcoder/p/14370942.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/12683348.html设计模式 之 里氏代换原则 (Liskov's Substitution Principle) - AlexAlexMotivation 动机 All the time we design a program module and we create some class hierarchies. Then we extend some classes creating some derived classes.2020-04-12T13:50:00Z2020-04-12T13:50:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】Motivation 动机 All the time we design a program module and we create some class hierarchies. Then we extend some classes creating some derived classes. <a href="https://www.cnblogs.com/wanpengcoder/p/12683348.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/12683327.html设计模式 之 单一职责原则 (Single Responsibility Principle) - AlexAlexMotivation 动机 In this context, a responsibility is considered to be one reason to change. This principle states that if we have 2 reasons to change fo2020-04-12T13:32:00Z2020-04-12T13:32:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】Motivation 动机 In this context, a responsibility is considered to be one reason to change. This principle states that if we have 2 reasons to change fo <a href="https://www.cnblogs.com/wanpengcoder/p/12683327.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/12683323.html设计模式 之 接口隔离原则 (Interface Segregation Principle) - AlexAlexMotivation 动机 When we design an application we should take care how we are going to make abstract a module which contains several submodules. Consider2020-04-12T08:53:00Z2020-04-12T08:53:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】Motivation 动机 When we design an application we should take care how we are going to make abstract a module which contains several submodules. Consider <a href="https://www.cnblogs.com/wanpengcoder/p/12683323.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/12683285.html设计模式 之 依赖倒置原则 (Dependency Inversion Principle) - AlexAlexMotivation 动机 When we design software applications we can consider the low level classes the classes which implement basic and primary operations(disk2020-04-12T02:35:00Z2020-04-12T02:35:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】Motivation 动机 When we design software applications we can consider the low level classes the classes which implement basic and primary operations(disk <a href="https://www.cnblogs.com/wanpengcoder/p/12683285.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/12680069.html设计模式 之 开放封闭原则 (Open Close Principle) - AlexAlexMotivation 动机 A clever application design and the code writing part should take care of the frequent changes that are done during the development and 2020-04-11T16:11:00Z2020-04-11T16:11:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】Motivation 动机 A clever application design and the code writing part should take care of the frequent changes that are done during the development and <a href="https://www.cnblogs.com/wanpengcoder/p/12680069.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/12654571.html设计模式 之 引言 - AlexAlex1. 设计模式定义 模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心思想,这样就能直接利用此方案,不必做重复劳动; GOF中的设计模式是对用来在特定场景下解决一般设计问题的类和相互通信的对象的描述; 2. 设计模式分类 GOF中共包含了23种设计模式,根据其目的可以将模式分为创2020-04-07T13:50:00Z2020-04-07T13:50:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】1. 设计模式定义 模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心思想,这样就能直接利用此方案,不必做重复劳动; GOF中的设计模式是对用来在特定场景下解决一般设计问题的类和相互通信的对象的描述; 2. 设计模式分类 GOF中共包含了23种设计模式,根据其目的可以将模式分为创 <a href="https://www.cnblogs.com/wanpengcoder/p/12654571.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11874264.htmlgit && github - AlexAlex一、git安装 环境: ubuntu 18.04 步骤: 1. 执行下git命令,提示找不到该命令,需要安装git; 2. 根据提示安装之; 3. 安装完成,看看版本号,成功; 4. 看一下帮助,内部有一些常用命令的说明,大多猜名字就能知道个大概,版本管理工具差不多;后面再测试每个部分是怎么使用的吧2020-04-06T16:21:00Z2020-04-06T16:21:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】一、git安装 环境: ubuntu 18.04 步骤: 1. 执行下git命令,提示找不到该命令,需要安装git; 2. 根据提示安装之; 3. 安装完成,看看版本号,成功; 4. 看一下帮助,内部有一些常用命令的说明,大多猜名字就能知道个大概,版本管理工具差不多;后面再测试每个部分是怎么使用的吧 <a href="https://www.cnblogs.com/wanpengcoder/p/11874264.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/12003583.htmlbook-rev8 Chapter 0 Operating system interfaces - AlexAlexChapter 0 第0章 Operating system interfaces 操作系统接口 The job of an operating system is to share a computer among multiple programs and to provide a more u2019-12-07T13:55:00Z2019-12-07T13:55:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】Chapter 0 第0章 Operating system interfaces 操作系统接口 The job of an operating system is to share a computer among multiple programs and to provide a more u <a href="https://www.cnblogs.com/wanpengcoder/p/12003583.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11973862.htmlbook-rev8 - AlexAlexxv6 a simple, Unix-like teaching operating system 一个简易、类Unix教学操作系统 Russ Cox Frans Kaashoek Robert Morris xv6-book@pdos.csail.mit.edu Draft as of Septe2019-12-07T13:50:00Z2019-12-07T13:50:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】xv6 a simple, Unix-like teaching operating system 一个简易、类Unix教学操作系统 Russ Cox Frans Kaashoek Robert Morris xv6-book@pdos.csail.mit.edu Draft as of Septe <a href="https://www.cnblogs.com/wanpengcoder/p/11973862.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11768500.htmlUbuntu+QEMU+Xv6环境搭建 - AlexAlex操作系统:Ubuntu 16.04 32位 虚拟机:VMware 模拟器:QEMU 之前有一台centos 64位虚拟机,使用源码安装配置环境,出了一些列问题,最终环境都已经配好了,也能够在qemu上运行Xv6,但是想跟着lab做实验的时候,各种编译器内部错误,实在懒得折腾这些了,于是决定新安装一台2019-10-30T14:38:00Z2019-10-30T14:38:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】操作系统:Ubuntu 16.04 32位 虚拟机:VMware 模拟器:QEMU 之前有一台centos 64位虚拟机,使用源码安装配置环境,出了一些列问题,最终环境都已经配好了,也能够在qemu上运行Xv6,但是想跟着lab做实验的时候,各种编译器内部错误,实在懒得折腾这些了,于是决定新安装一台 <a href="https://www.cnblogs.com/wanpengcoder/p/11768500.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11768483.htmlCentOS安装相应版本的内核源码 - AlexAlex昨天接到同事给安排的新任务,测试系统性能;网上查了些资料,目测perf功能很强大,而且是内核源码自带的,编译安装即可使用;看了下自己的虚拟机,没有内核源码,好吧,装一个; 查看一下系统版本: 1 #cat /etc/redhat-release 2 CentOS Linux release 7.5.2019-10-30T14:35:00Z2019-10-30T14:35:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】昨天接到同事给安排的新任务,测试系统性能;网上查了些资料,目测perf功能很强大,而且是内核源码自带的,编译安装即可使用;看了下自己的虚拟机,没有内核源码,好吧,装一个; 查看一下系统版本: 1 #cat /etc/redhat-release 2 CentOS Linux release 7.5. <a href="https://www.cnblogs.com/wanpengcoder/p/11768483.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11768449.html排序算法 - AlexAlex算法比较 稳定性 插入排序,冒泡排序,二路归并排序和基数排序是稳定的排序方法; 选择排序,希尔排序,快速排序和堆排序是不稳定的排序方法; 复杂度 排序方法 平均时间 最坏情况 辅助空间 插入排序 O(n^2) O(n^2) O(1) 希尔排序 O(nlogn) O(nlogn) O(1) 冒泡排序 2019-10-30T14:29:00Z2019-10-30T14:29:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】算法比较 稳定性 插入排序,冒泡排序,二路归并排序和基数排序是稳定的排序方法; 选择排序,希尔排序,快速排序和堆排序是不稳定的排序方法; 复杂度 排序方法 平均时间 最坏情况 辅助空间 插入排序 O(n^2) O(n^2) O(1) 希尔排序 O(nlogn) O(nlogn) O(1) 冒泡排序 <a href="https://www.cnblogs.com/wanpengcoder/p/11768449.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11767252.html2018 - AlexAlex每次按下键盘的时候,总觉得自己连一句话都说不明白; 18年勉强也算是我人生中的一次转折了,这一年,经历了很多,也得到了很多; 换工作; 换了工作,转到一个未接触到的领域; 之前跟朋友一起做电商平台,一直很累,付出了非常多的努力,然而收获平平,甚至很多时候,我会怀疑自己为什么要这么努力对待眼前的工作;2019-10-30T11:45:00Z2019-10-30T11:45:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】每次按下键盘的时候,总觉得自己连一句话都说不明白; 18年勉强也算是我人生中的一次转折了,这一年,经历了很多,也得到了很多; 换工作; 换了工作,转到一个未接触到的领域; 之前跟朋友一起做电商平台,一直很累,付出了非常多的努力,然而收获平平,甚至很多时候,我会怀疑自己为什么要这么努力对待眼前的工作; <a href="https://www.cnblogs.com/wanpengcoder/p/11767252.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11767250.htmlC语言JSON序列化/反序列化 - AlexAlex最近想找一个C语言处理嵌套结构体和结构体数组的json库,理想的是能够很容易处理复杂结构体嵌套,并且使用简单的,但是没找到比较合适的,于是打算自己封装一个; 两个问题: C语言结构体本身没有元数据,这也就没法在生成过程中自动分析类型进行处理,所以,需要生成对应结构体的元数据信息,根据元数据完成对结构2019-10-30T11:44:00Z2019-10-30T11:44:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】最近想找一个C语言处理嵌套结构体和结构体数组的json库,理想的是能够很容易处理复杂结构体嵌套,并且使用简单的,但是没找到比较合适的,于是打算自己封装一个; 两个问题: C语言结构体本身没有元数据,这也就没法在生成过程中自动分析类型进行处理,所以,需要生成对应结构体的元数据信息,根据元数据完成对结构 <a href="https://www.cnblogs.com/wanpengcoder/p/11767250.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11767247.htmlsnprintf用错了快10年… - AlexAlex1 int snprintf(char *str, size_t size, const char *format, ...); 从用snprintf开始,size参数一直传的都是buff_size-1,像这样: 1 int main() 2 { 3 char *a = "hello"; 4 5 c2019-10-30T11:43:00Z2019-10-30T11:43:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】1 int snprintf(char *str, size_t size, const char *format, ...); 从用snprintf开始,size参数一直传的都是buff_size-1,像这样: 1 int main() 2 { 3 char *a = "hello"; 4 5 c <a href="https://www.cnblogs.com/wanpengcoder/p/11767247.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11767242.htmlsem_init重复调用引发sem_wait线程无法被唤醒 - AlexAlex问题 一段老代码,两个线程,一个线程调用sem_wait等待信号量,另外一个线程在某失败分支会调用sem_init清信号量,结果导致sem_wait线程无法被唤醒; 分析 Linux manpage 从描述中可见,初始化一个已经被初始化的信号量会导致未定义行为; 1 NAME 2 sem_init 2019-10-30T11:41:00Z2019-10-30T11:41:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】问题 一段老代码,两个线程,一个线程调用sem_wait等待信号量,另外一个线程在某失败分支会调用sem_init清信号量,结果导致sem_wait线程无法被唤醒; 分析 Linux manpage 从描述中可见,初始化一个已经被初始化的信号量会导致未定义行为; 1 NAME 2 sem_init <a href="https://www.cnblogs.com/wanpengcoder/p/11767242.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11767233.htmlISA真慢 - AlexAlex计划没有变化快,周一计划的任务几乎没怎么做,时间完全交给了一个BUG; 最近大家在做新主板的功能,同事说DeviceNet不通,尽管我对DeviceNet一点不懂,不过好歹之前测过CAN模块在新主板上的功能,于是负责起了这个bug; 电脑连上CAN分析仪,包都看不到,上哪通去?搞硬件的同时出差了,没2019-10-30T11:40:00Z2019-10-30T11:40:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】计划没有变化快,周一计划的任务几乎没怎么做,时间完全交给了一个BUG; 最近大家在做新主板的功能,同事说DeviceNet不通,尽管我对DeviceNet一点不懂,不过好歹之前测过CAN模块在新主板上的功能,于是负责起了这个bug; 电脑连上CAN分析仪,包都看不到,上哪通去?搞硬件的同时出差了,没 <a href="https://www.cnblogs.com/wanpengcoder/p/11767233.html" target="_blank">阅读全文</a>https://www.cnblogs.com/wanpengcoder/p/11767227.html周六 - AlexAlex这周六没去加班做新人作业,因为新人作业已经做完了;开心! 孩子晚上十点多才睡,这才到了真正的自由时间,无人打扰,可以安心学习; 晚上七点多,一个滴滴的朋友给我发了一个问题,向我咨询下这个问题的思路;大概跟他分析了一下问题的可疑点;十点多,他跟我说,我的思路是对的,偶现问题变成了必现,心情大好;然后聊2019-10-30T11:39:00Z2019-10-30T11:39:00ZAlexAlexhttps://www.cnblogs.com/wanpengcoder/【摘要】这周六没去加班做新人作业,因为新人作业已经做完了;开心! 孩子晚上十点多才睡,这才到了真正的自由时间,无人打扰,可以安心学习; 晚上七点多,一个滴滴的朋友给我发了一个问题,向我咨询下这个问题的思路;大概跟他分析了一下问题的可疑点;十点多,他跟我说,我的思路是对的,偶现问题变成了必现,心情大好;然后聊 <a href="https://www.cnblogs.com/wanpengcoder/p/11767227.html" target="_blank">阅读全文</a>