自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(193)
  • 资源 (10)
  • 收藏
  • 关注

转载 指针的使用

1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。例如:int a = 25;int *ptr = &a;int b[10];int *point = b; int *p = &b[0];如果:int *p; *p = 7;则编译器(vs2008)会提示The vari...

2020-09-18 21:56:10 262

转载 不喜欢 Visual Studio Code?试试这 5 个替代应用程序

在涉及到编程时,我们可能都需要一个纯文本编辑器,它允许我们轻松地修改文件或做笔记。最完整和专业的工具之一是Visual Studio Code。但是这个程序不是针对没有经验的用户的,所以,如果是初学者,当然想知道最好的替代方案是什么。任何人都可以下载Virtual Studio Code,因为它是完全免费的,但毫无疑问,它是为程序员设计的。在这个领域中,我们发现了许多其他适合专业工作的好选择,特别是如果我们对微软开发的程序感兴趣的话。

2022-10-06 20:15:42 2709 1

转载 20 个提高生产力的 Linux 命令与技巧

在许多情况下,使用上一个命令的参数很方便。假设您必须创建一个目录,然后进入新创建的目录。那么,您可以使用!$选项。使用!$更好的方法您可以使用使用alt + .。在最后一个命令的选项之间来回移动的次数。

2022-10-06 20:12:05 350

转载 链接两个“名字完全一样“的【动态库】,你会怎么处理

【目录】在Linux应用的开发过程中,直接利用现成的第三方库(俗称:轮子)来完成自己的业务功能,是很常见的事情。不知道你是否遇到这样的场景:应用程序中需要使用两个动态库里的不同功能的函数,但是这两个动态库的作者发生心灵感应了,居然起了完全一样的动态库名字,这该如何是好?具体来说面对的问题是:在编译可执行程序的时候,通过gcc编译参数的-lXXX就可以动态链接一个动态库。但是,现在你想链接两个动态库,它们的名字是一样的!!怎么办?

2022-10-06 19:58:23 538

转载 如何使用 SHC 加密 Shell 脚本

如何在Linux环境中加密shell脚本?shell脚本包含密码,不希望其他具有执行权限的人查看shell脚本并获取密码。可以安装使用shc工具,普通用户无法读取shc创建的加密Shell脚本。SHC是指:Shell脚本编译器(Shell Script Compiler)。

2022-10-06 19:48:35 780

转载 自学编程精品网站。

我敢保证,它们适合 所有 想要自学编程的同学。并且我相信,对于有一定经验的程序员,这些网站也基本都用过。

2022-10-06 18:34:13 138

转载 详解Linux内核在arm上的启动过程

详解Linux内核在arm上的启动过程

2022-10-06 18:09:27 441

转载 介绍 shell 脚本中几个特殊参数的用法

∗,@,,!

2022-10-06 17:51:48 183

转载 Linux内核Page Cache和Buffer Cache关系及演化历史

在我们进行数据持久化,对文件内容进行落盘处理时,我们时常会使用fsync操作,该操作会将文件关联的脏页(dirty page)数据(实际文件内容及元数据信息)一同写回磁盘。这里提到的脏页(dirty page)即为页缓存(page cache)。块缓存(buffer cache),则是内核为了加速对底层存储介质的访问速度,而构建的一层缓存。他缓存部分磁盘数据,当有磁盘读取请求时,会首先查看块缓存中是否有对应的数据,如果有的话,则直接将对应数据返回,从而减少对磁盘的访问。

2022-10-06 17:45:45 201

转载 Linux中的软链接、硬链接:都用在哪些场合?

等重要的概念。于是就有小伙伴私信问我:这些概念我都懂,但是我能利用他们来完成什么工作呢?或者说,在哪些情况下,软链接和硬链接能够提供提供更好的解决方案呢?这篇文章我们就来简单梳理一下,软链接和硬链接的几个什么是索引节点什么是硬链接什么是软链接软链接应用之:灵活切换不同版本的目标程序软链接应用之:动态库版本管理软链接应用之:快捷方式硬链接应用之:从不同角度对文件进行分类硬链接应用之:文件多人共享硬链接应用之:文件备份文件和索引节点 inode内容实实在在的人描述信息户籍卡。

2022-10-06 08:37:18 1081 3

转载 经典红黑树详解

一文看懂红黑树

2022-10-06 08:18:01 59

转载 9 个很酷的 CMD 命令

cmd命令

2022-06-16 20:44:56 2156

转载 Linux 编辑器 vim使用

你会使用 Linux 编辑器 vim 吗

2022-06-16 20:36:42 183

原创 Storyboard

IOS入门之StoryBoard简介Storyboards在 iOS 5 中才有介绍,当我们用Storyboards时,部署目标应该是iOS5.0或更高版本。Storyboards 帮助我们了解视觉流动的画面,在界面为MainStoryboard.storyboard下创建所有应用程序屏幕。实例步骤创建一个single view application,创建应用程序时选择 storyboard 复选框。选择MainStoryboard.storyboard,在这里你可以找到单一视图控制器。添加一个视图

2022-05-31 22:25:11 221

转载 Nginx 的入门教程

Nginx 的特点是:内存占用少并发能力强(可支持大约 50000 个并发连接)配置超简洁bug 非常少安装超简单服务特别稳(几个月也不需要重启)基于这些特点,越来越多的网站开始使用 Nginx。于是,掌握 Nginx 就变成了开发者的一项必不可少的技能。一、Nginx 的作用反向代理是 Nginx 作为 Web 服务器最常用的功能之一。什么是反向代理呢?很多初学者在第一次遇到这个名词的时候总免不了出现很多问号。那要想搞明白什么是反向代理,就必须得搞明白什么是正向代理。举个例子,小

2022-01-19 20:50:00 387

转载 用vscode + platformIO +arduino配置环境且遇到的问题

1.vscode+arduino环境配置2.vscode+arduino遇到的问题2.1 头文件包含不进去,会在头文件有波浪线2.2 解决VScode编译Arduino程序速度慢的问题2.3 出现Value is not accepted. Valid values: “c++98”, “c++03”, “c++11”, “c++14”, "c+2.4 串口乱码3.vscode+platformio+arduino环境配置4.vscode+platformio+arduino编译遇到的问题4

2021-11-10 15:54:09 3324 1

原创 Linux 字节对齐的那些事

Linux 字节对齐的那些事最近遇到一个问题,运行于ARM上的threadx在与DSP通信采用消息队列的方式传递消息(最终实现原理是中断+共享内存的方式),在实际操作过程中发现threadx总是crash,于是经过排查,是因为传递消息的结构体没有考虑字节对齐的问题。随手整理一下C语言中字节对齐的问题与大家一起分享。一、概念对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐

2021-09-21 17:51:41 370

原创 Edgeline-LVGL

Introducing LVGL’s UI editor - Edgeline 开源嵌入式GUI的界面编辑Edgeline-LVGL的用户界面编辑器,LVGL 是优秀的免费开源图形界面很高兴和大家分享LVGLUI编辑器Edgeline的第一个视频。这是一个UI编辑软件,为嵌入式设备创建图形轻松。许多独特和创新的功能使Edgeline成为市场上杰出的软件视频介绍。...

2021-08-21 19:34:48 1732

转载 【LittleVGL】Windows环境下利用CodeBlocks搭建LittleVGL的PC模拟器环境配置问题

ssd

2021-08-18 22:35:06 762

转载 ARM64 Linux内核页表的块映射

内核文档Documentation/arm64/memory.rst描述了ARM64 Linux内核空间的内存映射情况,应该是此方面最权威文档。以典型的4K页和48位虚拟地址为例,整个内核空间的虚拟地址分布如下:从ffff000000000000到ffff7fffffffffff是一段针对物理地址的线性映射区,最大支持128TB的物理地址空间,这一段地址非常类似ARM32的low memory映射区。我们看看这种情况下的页表,我们既可以用最终的【20:12】对应的PTE映射项,以4K为单位,

2021-02-16 08:18:52 683

转载 谈谈内存压缩那些事

1. 技术背景说到压缩这个词,我们并不陌生,应该都能想到是降低占用空间,使同样的空间可以存放更多的东西,类似于我们平时常用的文件压缩,内存压缩同样也是为了节省内存。尽管当前android手机6GB,8GB甚至12GB的机器都较为常见了,但内存无论多大,总是会有不够用的时候。当系统内存紧张的时候,会将文件页丢弃或回写回磁盘(如果是脏页),还可能会触发LMK杀进程进行内存回收。这些被回收的内存如果再次使用都需要重新从磁盘读取,而这个过程涉及到较多的IO操作。就目前的技术而言,IO的速度远远慢..

2021-02-16 08:14:01 1699

转载 性能优化-放开那片内存

性能优化是一个常有的事情,通常来说 不要过早优化-当你没有性能问题时,不需要过早考虑优化,当然对于一些代价很小,收益却很大的手段可以考虑做进来,例如最常见的就是根据业务需求选择合适的数据结构。 不要过度优化。优化都是有目标的,比如你需要达到多少TPS,那么你按照这个目标去优化即可,有些优化虽然能否提升性能,但可能对代码的可维护性造成破坏。 本人对此没有过多涉猎,仅分享工作中接触到的一些内存。内存性能问题有很多方面会造成性能问题,例如: 业务流程设计不合理,导致很多没有必要的

2021-02-16 08:07:01 543

转载 18张图揭秘高性能Linux服务器内存池技术是如何实现的

大家生活中肯定都有这样的经验,那就是大众化的产品都比较便宜,但便宜的大众产品就是一个词,普通;而可以定制的产品一般都价位不凡,这种定制的产品注定不会在大众中普及,因此定制产品就是一个词,独特。有的同学可能会有疑问,你不是要聊技术吗?怎么又说起消费了?原来技术也有大众货以及定制品。通用 VS 定制作为程序员(C/C++)我们知道申请内存使用的是malloc,malloc其实就是一个通用的大众货,什么场景下都可以用,但是什么场景下都可以用就意味着什么场景下都不会有很高的性能。malloc

2021-02-16 08:04:39 213

转载 Linux如何调试内存泄漏

内存泄漏是指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。我们平时开发过程中不可避免的会遇到内存泄漏问题,你是如何排查的呢?估计你是使用下面这几个工具吧? valgrind mtrace dmalloc ccmalloc memwatch debug_new 这里程序喵向大家推荐新的一个排查内存泄

2021-02-16 07:59:15 458

转载 Linux内存机制以及手动释放swap和buffer和cache

本文介绍linux内存机制、虚拟内存swap、buffer/cache释放等原理及实操。一、什么是linux的内存机制?二、linux什么时候开始使用虚拟内存(swap)?三、怎么释放内存?四、怎么释放swap?一、什么是linux的内存机制?我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在li...

2021-02-16 07:45:52 491

转载 为什么 Linux 默认页大小是 4KB

为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。我们都知道 Linux 会以页为单位管理内存,无论是将磁盘中的数据加载到内存中,还是将内存中的数据写回磁盘,操作系统都会以页面为单位进行操作,哪怕我们只向磁盘中写入一个字节的数据,我们也需要将整个页面中的全部数据刷入磁盘中。Linux 同时支持正常大小的.

2021-02-16 07:44:09 1303

原创 awk 命令 只处理第一个匹配的行和只处理指定行

AWK技巧:1、awk只处理第一个匹配的行,匹配后使用exit命令退出处理:awk '/version/{print $1;exit;}' input.txt处理3个匹配行后结束处理:awk '/aa/{i++;if(i<3){print $0}else{exit;}}' a2、只处理指定的行。NR表示输入文件的行号awk 'NR==1,NR==5{print $0}' file————————————————版权声明:本文为CSDN博主「hongweigg」的原创文章,遵

2021-02-16 07:27:22 3644

转载 Linux 修改 ELF 解决 glibc 兼容性问题

Linux glibc 问题相信有不少 Linux 用户都碰到过运行第三方(非系统自带软件源)发布的程序时的 glibc 兼容性问题,这一般是由于当前 Linux 系统上的 GNU C 库(glibc)版本比较老导致的,例如我在 CentOS 6 64 位系统上运行某第三方闭源软件时会报:[root@centos6-dev ~]# ldd tester./tester: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by.

2021-02-16 07:26:53 930

转载 为什么Linux内核常常用unsigned long来代替指针

本文目录不知道自己不知道!指针何时指针?指针何时是整数?物理地址是指针?模糊地带绝世好代码?昨天我犯了一个错误把指针和整数“混淆”的错误,幸得队友王童鞋指正,今早起床,我把这个心得花一点时间记录下来。大抵掌握一个技术或者知识都是这三个阶段: 不知道自己不知道; 知道自己不知道; 知道自己知道。 比较难突破的是“不知道自己不知道”的阶段,因为“不知道自己不知道”,所以才往往特别自信,觉得“老子天下第一”。基本上,本文要记录的一个小点,也...

2021-02-16 07:26:21 462

转载 一文讲透 “进程、线程、协程”

本文从操作系统原理出发结合代码实践讲解了以下内容: 什么是进程,线程和协程? 它们之间的关系是什么? 为什么说Python中的多线程是伪多线程? 不同的应用场景该如何选择技术方案? ... 什么是进程进程-操作系统提供的抽象概念,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。程序本身是没有生命周期的,它只是存在磁盘上的一些指令,程序一旦运行就是进程。当程序需要运行时,操作系统将代.

2021-02-15 08:11:35 97

转载 图解 | 数字签名和数字证书的前世今生

前言这是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视频。在一旁玩手机的女朋友突然问”你知道数字证书是来干啥的不,为啥浏览器提示证书不可信?”你要问这个,那我可来劲了,于是乎从加密、数字签名一直讲到了数字证书。。。终于把女朋友讲睡着了,独自写下这篇文章。正文如果你能非常清晰的回答出以下问题,可以直接拉到最下面帮我点个赞~,把时间用去陪陪女朋友: 非对称加密中公私钥都可以加密,那么什么时候用公钥加密,什么时候用私钥“加密” ? 什么是数字签

2021-02-15 08:09:07 291

转载 Linux内核是如何巧妙的初始化各个模块的

相信很多在研究linux内核源码的同学,经常会发现一些模块的初始化函数找不到调用者,比如下面的网络模块的初始化函数:// net/ipv4/af_inet.cstatic int __init inet_init(void){... /* * Set the IP module up*/ ip_init(); /* Setup TCP slab cache for open requests. */...

2021-02-15 08:06:49 209

转载 如何设置与查看Linux系统中的环境变量?

大家都知道,在 Linux 系统中,有环境变量和Shell 变量这两种变量。环境变量是在程序及其子程序中全局可用的,常常用来储存像默认的文本编辑器或者浏览器,以及可执行文件的路径等等这样的信息。而 Shell 变量仅在当前 Shell 中可用,可以用来存储当前用户的 ID 等信息。那么什么是环境变量,什么是 Shell 变量,该如何设置和查看这两种变量呢?环境变量环境变量是以键值对的形式实现的,是在整个系统范围内都可用的变量,并由所有派生的子进程和 Shell 继承。而环境变量的名称是..

2021-02-15 08:02:33 297

转载 一行代码:你的纯文本秒变Markdown

Markdeep 是一个用来写纯文本的插件,它能以 Markdown 的语法与渲染方式纯文本,并在网页上展示。同时,除了 Markdown 语法,Markdeep 还额外支持图表、数学方程等扩展能力。项目主页:casual-effects.com/markdeep/我们先看看效果,如下左边是纯文本编辑器的编辑页面,右边是在浏览器上的渲染效果:Markdeep 非常容易使用,它也不需要安装插件或联网。如上所示只要在纯文本最后加上「<!—Markdeep→」那一行的...

2021-02-15 07:59:08 96

转载 13 款 Linux 比较实用的工具

本文介绍几款Linux比较实用的工具,希望有所帮助。1、查看进程占用带宽情况-NethogsNethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。2、硬盘读取性能测试-IOZoneIOZone是一款Linux文件系统性能测试工具 可以测试不同的操作系统中文件系统的读写性能。下载:http://www.iozone.org/src/current/[root]#tarxvfiozone3_420.tar[root]#c...

2021-02-15 07:58:03 83

转载 使用tcpdump查看原始数据包

尽管Snort之类的工具在筛选通过我们的网络而来的所有内容方面做得非常出色,但有时必须要查看原始数据。为此,我们最好的工具是“ tcpdump”。使用tcpdump的最基本方法是简单地发出以下命令:tcpdump您可以使用-v选项获得更多详细信息,而-vv可以获取更多信息。有用的选项假设您已登录到要管理的远程计算机。如果您不带任何选项运行“ tcpdump”,则输出将被来自您的SSH连接的数据包淹没。为避免这种情况,只需从输出中消除端口22:tcpdumpnotport..

2021-02-15 07:49:56 1118

转载 给 Frp 穿透的内网 Web 上 https

2020年了,谁还没有个https呢,不上SSL证书就out了Nginx第一方法是在服务器端使用Nginx。Nginx监听80和443端口,把来自域名的请求,通过Nginx的反向代理转发给frps监听的端口(比如7000),再由frps在转发给frpc处理http响应。在Nginx里配置上https证书,由Nginx实现ssl的加密解密。Nginx配置https证书和反向代理都是常规操作,不再做多余的演示。觉得麻烦用宝塔。frp的https配置frp自身也可以配置上证书提供https服务,服

2021-02-15 07:49:31 949

转载 一文讲懂什么是vlan、三层交换机、网关、DNS、子网掩码、MAC地址

很多朋友多次问到什么是网关、dns、子网掩码,三层交换机,它们定位的用途;确实,因为网络技术在弱电中确实应用非常广泛,我们平时在vip技术群中也是不断的讨论到网关、vlan、三层交换机或子网掩码等问题,今天我们就一起用通俗方式一次性了解清楚。一、什么是vlan?VLAN中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。听上面的概念,肯定有不少朋友是一头雾水的,什么是虚..

2021-02-15 07:48:34 466

转载 记住看小电影前一定要检查一下域名是不是 HTTPS 的,不然……

看小电影还是浏览正常网站,一定要检查是不是 HTTPS 的,HTTP有可能被中间人攻击和拦截,下面就是详细的 HTTPS 原理,细思极恐。1. HTTP 协议在谈论 HTTPS 协议之前,先来回顾一下 HTTP 协议的概念。1.1 HTTP 协议介绍HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层。HTTP 协议是通过客户端和服务器的请求应答来进行通讯,目前协议由之前的 RFC 2616 拆分成立六个单独的协议说明(RFC 7230、RFC 7231、R.

2021-02-15 07:48:05 793

转载 4 款超级好用的终端文件管理器

作为 Linux 操作系统的必备工具,选择一款非常好用的终端文件管理器,能让日常使用更加提高效率。今天跟大家推荐几款适用于 Linux 的开源文件管理器,希望对大家有所帮助。1、nnnnnn(或n³)是功能齐全的终端文件管理器。它很小,几乎为零配置,具有令人难以置信的性能,可能是您使用过的最快的!可以在 DE 和 GUI 实用程序无缝集成,具有独特的导航即可模式、自动选择、可分析磁盘使用情况,批量重命名,启动应用程序和选择文件。该插件库拥有的插件和文件,以进一步扩展如功能预览,(联合国

2021-02-14 09:13:28 1899

控制板源代码.zip

安防技术自测代码。仅仅用于个人爱好,其他人谨慎查看。 安防技术自测代码。仅仅用于个人爱好,其他人谨慎查看。 安防技术自测代码。仅仅用于个人爱好,其他人谨慎查看。

2020-06-28

FreeRTOS.zip

FreeRTOS实时内核使用指南,FreeRTOS实时内核使用指南FreeRTOS实时内核使用指南FreeRTOS实时内核使用指南

2019-12-15

FreeRTOS实时内核使用指南.zip

FreeRTOS实时内核使用指南,FreeRTOS实时内核使用指南FreeRTOS实时内核使用指南FreeRTOS实时内核使用指南

2019-07-23

ECM0359818_armv8m_security_extensions_reqs_on_dev_tools_1_0.pdf

Generate secure code as per the "ARMv8-M Security Extensions: Requirements on Development Tools Engineering Specification", which can be found on

2019-05-09

GUN ld中文使用手册

使用ld ******** 本文档介绍GNU 连接器ld 的2.14 版本. 本文档在GNU 自由文档许可证下发行.在"GNU 自由文档许可证"一章中有关于本 许可证的一份拷贝.

2019-04-22

自己写的Makefile测试程序, 学习Makefile重要代码

自己写的测试Makefile程序,仅仅是测试专用,谨慎使用。

2019-04-13

寄存器位查看小工具

设置寄存器位工具,

2019-04-02

3D影像技术简介

3D影像技术简介

2016-05-25

英语学习,每日一句

每日一句,天天学习英语每日一句,天天学习英语每日一句,天天学习英语每日一句,天天学习英语

2015-09-23

寻星仪计算程序

寻星仪计算程序 代码,可以直接下载使用,该工具,

2015-02-12

空空如也

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

TA关注的人

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