
AD18
嵌入式系统攻城狮
这个作者很懒,什么都没留下…
展开
-
C语言实现优先队列
优先队列(堆)是允许至少下列两种操作的数据结构:Insert(插入),它的工作显而易见的,以及DeleteMin(删除最小者),它的工作是找出、返回和删除优先队列中最小的元素。 如同大多数数据结构那样,有时可能要添加一些操作,但这些添加的操作属于扩展的操作,而不属于图1所描述的基本模型。 使操作被快速执行的性质是堆序(heap order)性,由于我们想要快速地找到最小元因此最小元应该在根上。应用这个逻辑我们得到堆序性质。在一个堆中,对于每一个节点X,X的父亲中的关键字小于(或等于)X中的关键字(这种堆叫做原创 2022-06-16 18:02:21 · 685 阅读 · 1 评论 -
C语言实现堆数据结构和基本操作
总有一种在垃圾堆里刨食的感觉,为了让垃圾堆里多一些有用的东西,我特意写了这个文章。主要是一些堆的实现。本文章的代码是从别的地方抄来的,如果原作者不希望代码放在这里,请联系帖主删除帖子。运行效果:.........原创 2022-06-16 02:05:17 · 299 阅读 · 0 评论 -
execl()函数出现warning: null argument where non-null required (argument 2)问题解决
使用 execl(path, NULL); 出现错误:cc httpd.c -pthread -o tinyhttpd.raphttpd.c: In function ‘execute_cgi’:httpd.c:282:9: warning: null argument where non-null required (argument 2) [-Wnonnull] 282 | execl(path, NULL); | ^~~~~httpd.c:28...原创 2022-05-30 14:14:49 · 2289 阅读 · 0 评论 -
UNIX 互斥锁和条件变量的使用例程
使用条件变量和互斥锁实现线程同步条件变量(cond)使在多线程程序中用来实现“等待--->唤醒”逻辑常用的方法,是进程间同步的一种机制。条件变量用来阻塞一个线程,直到条件满足被触发为止,通常情况下条件变量和互斥量同时使用。一般条件变量有两个状态:(1)一个/多个线程为等待“条件变量的条件成立“而挂起;(2)另一个线程在“条件变量条件成立时”通知其他线程。互斥锁的作用:1. 保护共享数据。 再并发机制的情况下,有时候会有多个线程同时访问同一片数据,为了保护数据操作的原子性就使用互斥锁来保证数据.原创 2022-05-26 21:38:39 · 217 阅读 · 0 评论 -
C语言带颜色和函数名还有行号打印
c语言编程中经常希望调试信息能带有所处在的行和函数名信息,另外还需要比较显眼。用c语言的宏配合printf就可以实现这个想法。#include <stdio.h>/*#define DBG_PRINT(format, arg...) do { fprintf(stdout,"%ld,%d,[flash_sn]--- "format"\n",\ get_current_time(),getpid(),## arg);} \ */原创 2022-05-26 17:01:20 · 328 阅读 · 0 评论 -
system v信号量实现进程间通信的实例
system v信号量实现进程间通信的实例原创 2022-05-24 21:35:08 · 120 阅读 · 0 评论 -
epoll()实现的tcp回射服务器和客户端
epoll实现的tcp回射服务器原创 2022-05-20 14:10:27 · 307 阅读 · 0 评论 -
「干货」PCB设计妙招,Altium Designer快速调整丝印和修线的方法
嵌入式系统攻城狮 2019-01-15 01:10:49 调整丝印字符的快捷命令在旧版本的Altium Designer里面,调丝印时经常会碰到器件、走线铺铜等物体和丝印位号在同一个位置导致不好选择的情况,以前一般是先将其他所有物体都锁定了以后再去调整丝印位号,这也是不是最方便的。现在有了一种新的方法可以轻松的调整丝印的位置。首先,我们来新建一个移动文本的命令。关于设置系...原创 2019-01-29 14:20:01 · 4087 阅读 · 0 评论 -
AD设置过孔的方法(via templates)
复杂的PCB设计任务常常需要使用两种或以上的过孔。本文介绍高版本Altium软件里新增的via templates,via templates的实质就是将过孔标准化。使用via templates可以在布线添加过孔、焊盘和铜皮打孔时选择需要的过孔。比如某PCB需要孔径为8mil、盘径16mil的过孔和孔径为10mil、盘径18mil的过孔,就可以使用via template,另外还可以...原创 2018-06-06 12:29:38 · 89924 阅读 · 4 评论 -
Altium差分布线和等长方法
差分线是高速PCB设计的一个重要内容,在PCB设计时逐个设置网络差分对是非常麻烦的。为了提高效率,本文介绍一种方法批量设置差分线和布线规则。高速PCB差分线首先从PCB菜单里找到Difference Pairs Editor。PCB菜单中找到 Difference pairs菜单Add按钮可以添加单个差分对,比较简单,这里不详细介绍。添加单个差分对输入单个差分对的网络名点击菜单中的Create F...原创 2018-06-11 19:37:02 · 53498 阅读 · 3 评论