自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

公众呺:Linux兵工厂, 加关+私信获取海量Linux干货资料和代码

分享Linux、网络、驱动、C/C++、后台服务、Qt、Python等文章

  • 博客(233)
  • 资源 (14)
  • 收藏
  • 关注

原创 9. Linux 信号详解

用户自定义信号1。用户自定义信号2。用户自定义信号1。通常由用户自定义处理函数处理,可用于向进程发送自定义通知。可以注册自定义的信号处理函数,该函数将在接收到信号时被调用。使用signal或sigaction函数进行注册。// 注册自定义处理函数// 主循环// 业务逻辑return 0;以上基本涵盖了信号知识的全部内容,希望小伙伴们在学习过程中慢慢消化吸收。总体而言,信号知识是系统编程中不可或缺的一部分。它提供了一种灵活的通信和控制机制,使得程序能够更好地适应多任务和复杂的系统环境。

2024-03-21 13:32:48 206

原创 6. Linux中系统调试常用命令(必知必会)

在 Linux 中,获取系统信息和监控系统资源的操作是非常常见的任务。以下是一些常用的命令和工具,以及一些相关的系统文件,用于获取 Linux 系统信息和监控系统资源。

2024-03-13 22:11:59 232

原创 2.Linux文件IO基础

Linux 文件 I/O(Input/Output)基础是 Linux 应用程序开发中的重要组成部分。在 Linux 系统中,文件 I/O 涉及到文件的读取和写入,以及文件描述符、系统调用等概念。

2024-03-10 17:13:16 123

原创 1. Linux应用编程概念

Linux应用编程涉及到在Linux环境下开发和运行应用程序的一系列概念。

2024-03-10 17:09:54 128

原创 Rock派(基于瑞芯微RK3308B)开发记录-上篇

根据项目需求并且经过各方面评估最终选择了这款Rock Pi(Rock派)系列中的Rock Pi S产品。正式它的各方面的特性,简直就是为我的项目开发量身打造的。小巧方便,这板子可以说简单干练,布局紧凑,非常适合IOT以及智能语音项目。特别是WIKI官网上的开发说明很合木荣君的胃口。如果有相关开发经验的小伙伴可以一起交流,相互学习,共同进步RK3308B是瑞芯微旗下的一款高性能四核SOC处理器,专为智能语音交互、音频输入/输出处理和其他数字多媒体应用而设计。

2022-12-15 22:30:01 2465 2

原创 几款好用到爆炸的在线画图工具

俗话说的好:“工欲善其事必先利其器”,今天给大家介绍一下平时工作中好用的几款在线画图工具。

2022-12-03 20:21:12 1879

原创 手把手教你写Linux线程池

至此,一个简单的线程池实例就完成了。实际工作中我们可以根据实际的业务量来初始化线程池中线程的个数,并根据任务量的多少动态的增加或减少线程池中的线程。好了,现在让我们行动起来吧,自己编写一个线程池。如果需要线程池源码,关注Linux兵工厂,并由大量Linux资料赠送。

2022-12-01 17:55:03 380

原创 C++基础知识精髓教程

正所谓万丈高楼平地起,作为一名合格的程序员来说,没有良好的基本功很难达到一定的高度。而工作中大部分编程问题都是基本功不扎实所导致,所以决定花些时间来整理C++相关的基本知识和基本概念供大家参考理解,每一个知识点都结合相关的代码进行验证。本文基本上涵盖了C++最常用的知识点,希望对小伙伴们有所帮助。

2022-11-25 09:20:35 719

原创 18. 网络编程(3)

Hi,大家好!本节我们继续学习网络编程相关的知识。更深一步理解网络通向方面的细节,有助于在编码时规避不必要的问题。

2024-04-11 10:25:31 448

原创 17. 网络编程2

Hi,大家好!上篇文章我们学习了TCP通信的基本框架,包括如何创建服务端和客户端。本章节我们总结学习网络编程相关的细节知识,也是平时开发中需要注意的知识点。

2024-04-11 10:23:58 59

原创 16. 网络编程(1)

Hi,大家好!从本节开始我们学习网络编程相关的知识。基于TCP服务器和客户端实现流程框架。Linux系统作为一个多用户、多任务的操作系统,网络通信是其重要的功能之一。通过网络编程,可以实现不同计算机之间的数据交换和通信,实现远程控制、远程访问等功能。在服务器开发领域,Linux是非常流行的操作系统之一,网络编程在服务器开发中占据着重要地位。通过网络编程,可以开发各种服务器程序,如Web服务器、FTP服务器、DNS服务器等,用于提供网络服务。在分布式系统中,不同的节点需要进行通信和协作。

2024-04-11 10:22:25 223

原创 15. 揭开守护进程的面纱

Hi,大家好!本篇我们来学习一下守护进程。

2024-04-11 10:20:48 9

原创 14. 线程控制

Hi,大家好!本篇我们来学习一下线程控制方面的内容。一个进程中的多个线程之间如何保持数据的私有性。进程的系统调用如何与线程进行交互。

2024-04-11 10:16:51 18

原创 13. 重要知识点Linux中线程

Hi,大家好!本篇我们继续来学习Linux应用编程中的线程相关的知识点。

2024-04-11 10:14:28 258

原创 12. Linux中进程间通信

进程间通信(interprocess communication,简称 IPC)指两个进程之间的通信。系统中的每一个进程都有各自的地址空间,并且相互独立、隔离,每个进程都处于自己的地址空间中。所以同一个进程的不同模块(譬如不同的函数)之间进行通信都是很简单的,譬如使用全局变量等。但是,两个不同的进程之间要进行通信通常是比较难的,因为这两个进程处于不同的地址空间中。管道是一种单向通信机制,它允许一个进程的输出直接作为另一个进程的输入。在 shell 编程中,通常使用管道将一个命令的输出传递给另一个命令。

2024-04-11 10:12:21 105

原创 11. Linux中进程控制细节

Linux 系统是一个多任务、多进程、多线程的操作系统,一般来说系统启动之后会运行成百甚至上千个不同的进程, 那么对于单核 CPU 计算机来说,在某一个时间它只能运行某一个进程的代码指令,那其它进程怎么办呢(多核处理器也是如此,同一时间每个核它只能运行某一个进程的代码)?子进程被创建出来之后,便是一个独立的进程,拥有自己独立的进程空间,系统内唯一的进程号,拥有自己独立的 PCB(进程控制块),子进程会被内核同等调度执行,参与到系统的进程调度中。可以创建一个新的进程,但这只是基本的创建机制。

2024-03-26 20:29:51 188

原创 10. Linux进程内存布局

Linux 系统下,应用程序运行在一个虚拟地址空间中,所以程序中读写的内存地址对应也是虚拟地址,并不是真正的物理地址,譬如应用程序中读写 0x80800000 这个地址,实际上并不对应于硬件的 0x80800000这个物理地址。

2024-03-26 20:26:46 103

原创 8. Linux进程生命周期

在 Linux 中,每个运行的程序都是一个进程,而每个进程都有一个唯一的标识符,称为进程ID(Process ID,PID)。在 Linux 中,进程之间存在父子关系,形成了一个层次结构,被称为进程树或进程层次。每个进程都有一个唯一的进程ID(PID),而每个进程可以创建其他进程,从而形成层次结构。总的来说,Linux 进程层次结构是多进程系统的基础,有助于实现更高效的资源管理、进程间通信和终端控制。进程层次结构对于进程间通信(IPC)也有重要的影响,特别是在一个会话内的进程可以更容易地进行通信。

2024-03-21 13:31:44 17

原创 7. Linux进程环境

在 Linux 中,进程是程序的一次执行过程,它包含了程序的代码、数据以及执行时的环境。每个进程都有独立的内存空间、文件描述符、环境变量等。

2024-03-13 22:18:49 1016

原创 5. C语言字符串处理常用方法

在 C 语言中,字符串是以字符数组的形式表示的,以空字符 `'\0'` 结尾。C 语言提供了一系列的字符串处理函数,可以用于字符串的操作、查找、比较等

2024-03-13 22:07:32 42

原创 4. Linux文件属性和目录系列

在 Linux 系统中,文件和目录是基本的文件系统组成部分。文件系统是用于组织和存储文件的一种结构,而文件和目录则是文件系统的核心元素。

2024-03-13 22:06:09 68

原创 3. Linux标准I/O库

Linux 标准 I/O(Standard I/O)库提供了一组函数,用于进行高级别的文件输入和输出操作。它建立在底层文件 I/O 系统调用之上,为开发者提供了更方便、更高级别的文件处理方式。

2024-03-13 22:04:49 70

原创 Linux中apt-get和apt命令用法汇总

apt(Advanced Package Tool)和apt-get是用于在基于 Debian 的 Linux 发行版中进行软件包管理的命令行工具。它们可以用于安装、卸载、升级和管理软件包。

2024-02-21 20:35:17 496

原创 一文入门 HTTP 协议

HTTP 协议是 Web 世界的基石,了解其基本原理对于 Web 开发者至关重要。本文介绍了 HTTP 的基本请求和响应结构、常见的请求方法、URL 结构、状态码、报文头部和报文体等基本概念。深入理解这些基础概念,将有助于更好地理解 Web 应用的运作原理。

2024-02-20 16:18:39 1051

原创 C语言字符串处理

在 C 语言中,字符串是以字符数组的形式表示的,以空字符 `'\0'` 结尾。C 语言提供了一系列的字符串处理函数,可以用于字符串的操作、查找、比较等。

2024-02-14 17:24:24 170

原创 Linux多线程编程和资源同步详解

在多线程编程中,除了使用锁和其他同步机制确保数据的一致性外,还应考虑性能优化的问题。例如,避免不必要的锁竞争、减小锁的粒度、使用无锁数据结构等都是提高多线程程序性能的重要手段。死锁是多线程编程中常见的问题,它指的是一组线程因争夺资源而陷入无限等待的状态。条件变量用于线程之间的通信和同步,它允许一个线程等待某个条件的发生,而其他线程可以在满足条件时通知等待的线程。线程池是一种管理和复用线程的机制,它可以有效地减少线程的创建和销毁开销。原子操作是不可中断的操作,能够确保在多线程环境中对共享数据的操作是原子的。

2024-02-02 14:07:20 887

原创 深入理解C++ std::function灵活性与可调用对象的妙用

为我们提供了一种灵活且类型安全的方式来处理可调用对象,使得我们能够更方便地传递、存储和操作函数。是一个强大而灵活的工具,它允许我们将可调用对象(函数、函数指针、Lambda表达式等)包装成一个对象,使得我们可以像操作其他对象一样操作和传递可调用对象。它的主要作用是将可调用对象封装为一个函数对象,提供一种统一的方式来处理各种类型的可调用对象。的实现依赖于模板和类型擦除的技术,通过模板参数推导和多态实现对各种可调用对象的包装。内部维护了一个类型安全的可调用对象的容器,通过虚函数实现对各种类型的调用。

2024-02-01 13:39:04 160

原创 C++关键字constexpr

constexpr是 C++11 引入的一个关键字,用于指定表达式或函数的值在编译时就可以确定。使用constexpr可以在编译期进行优化,从而提高程序的运行效率。以下是constexpr。

2024-01-29 15:41:41 408

原创 C++必知必会之基础知识-常用关键字(2)

一文学会volatile、assert()、sizeof()、#pragma pack(n)使用方法。

2023-07-27 15:39:31 132

原创 C++常用关键字const、static、this指针、inline内联函数详解

C/C++首先我们先来了解一下修饰符的定义。在C/C++中,修饰符(modifiers)是用于修改基本数据类型的关键字,用于改变变量的存储方式、作用域或其他特性。

2023-07-24 14:00:41 199

原创 Qt实现http服务来接收post协议的数据

在这个示例中,我们创建了一个继承自QTcpServer的HttpServer类来处理HTTP请求。当有新的连接请求到达时,incomingConnection函数会被调用,在该函数中创建一个QTcpSocket来处理连接。如果请求以"POST"开头,我们提取出POST数据,并调用processPostData函数来处理数据。要在Qt中接收HTTP POST协议的数据,你可以使用Qt的网络模块和HTTP类来处理请求。这是一个简单的示例,演示了如何使用Qt接收HTTP POST请求的数据。

2023-06-15 15:31:34 1401

原创 Linux下传说中的三剑客

大家好!我是木荣。今天给大家聊一聊Linux中文本操作的,因其功能强大、使用频繁,且是Linux下文本处理的得力利器,常被称之为文本三剑客。grep常用于查找,sed常用于取行和替换,而awk常用于运算。,虽然是玩笑语,但也不得不说他们的重要性。为什么聊起这个话题呢?最近这几天有点忙,可能是快到了毕业季了,最近来公司的面试的应届生突然多了起来。在对应届生的面试过程中,往往会涉及一些基本的技术知识,主要看重的是对基础知识的掌握和对新知识的学习能力。而Linux下常用的基本命令。

2023-05-04 22:03:40 2211 1

原创 Linux下文件系统知识要点总结

何为文件系统?文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。

2023-05-04 22:00:25 187

原创 Linux下进程相关知识

fork系统调用创建了一个基本相同的子进程,这个子进程有一个新的进程ID(PID),原始进程成为它的父进程,并有一个称为父进程ID PPID的东西。一个进程是一个正在运行的程序的实例,打开3个终端窗口,在两个窗口中运行cat命令,不传递任何选项(cat进程将作为一个进程保持打开状态,因为它期望stdin)。当父进程在子进程之前死亡时,内核知道它不会得到一个等待调用,所以它会让这些进程成为“孤儿”,并将它们置于init(记住所有进程的父进程)的照顾下。当一个进程结束时,它所使用的资源将被释放给其他进程使用。

2023-03-21 13:06:27 60

原创 Linux下文件共享的几种方式

平常工作中你的电脑通常不是网络上唯一的计算机,如果你在工作环境中,情况尤其如此。当我们想要将数据从一台机器传输到另一台机器时,有时连接一个U盘并手动复制它们可能更容易。但在大多数情况下,如果您使用同一网络上的机器,则传输数据的方式是通过网络文件共享来的更方便些或更显示些。下面,我们将介绍几种不同的方法来在网络上的不同机器之间复制数据。我们将讨论一些简单的文件副本,然后我们将讨论如何将整个目录挂载到你的机器上,作为一个单独的驱动器。一个简单的文件共享工具是scp命令。

2023-03-21 12:56:55 3679

原创 VSCode那些让你眼前一亮的插件

VSCode可以说是一个非常强大的编辑器,支持各种编程语言,优点就是可以根据自己的需要定制安装自己需要的插件,so easy,你会发现慢慢的爱上这个编辑器。基于当前光标的词,字典补全允许用户获得一个关键字列表。如果你正在输入一个很长的单词(例如,recogndgeable),并且不想完成输入或不记得拼写,这是非常有用的。VSCode的自定义编辑器扩展,提供了一个十六进制编辑器,用于查看和操作原始十六进制表示的文件。这个非官方的扩展绘制矢量图软件,这也是木荣本人一直在使用的软件,非常的丝滑。

2023-03-12 12:14:46 1249

原创 在线编程学习,后悔知道晚了!

Hello,小伙伴们大家好!今天给大家分享一波在线编程学习的网站,这几个网站说实话的确不错,非常适合利用空余时间去浏览学习。培养自己利用空余时间学习的习惯,提升自身水平,一段时间后你会发现自己会有了很大进步。这几个网站木荣君也经常在里面遨游,时不时也会挑战一下自己,很值得推荐给大家。

2023-03-12 12:05:25 65

转载 史上最详细的计算机网络知识

按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。有关数据链路层的重要知识点:1.数据链路层为网络层提供可靠的数据传输;2.基本数据单位为帧;3.主要的协议:以太网协议;4.

2023-03-11 11:58:11 186

原创 Unix vs Linux你不知道的那些知识!

Hello,小伙伴们大家好!我是木荣君。在平时的交流中发现好多小伙伴对于Unix和Linux这两个概念傻傻分不清楚,今天木荣君花费了一些时间查找了相关的资料,把Unix和Linux做了一个对比,希望对大家在理解和认知上有所帮助,不足之处请多多理解。好了,废话不多说,我们进入正题。

2023-03-08 12:43:23 607

原创 202310个最佳的Linux发行版本

Linux操作系统是一款强大且流行的开源系统。自创建至今它已经存在了30多年。虽然它最初是一个类unix系统,但是现在已经发展成许多不同的风格或发行版。每个发行版都提供独特的功能和好处,使其成为特定用户的最佳选择。因此,无论您是在寻找用户友好性、安全性、轻量级的特性,还是其他特性,都有适合您的Linux发行版。以下是精选的顶级Linux发行版,包含了每个Linux发行版的优点和主要特性的描述。其中包括开源版本,也有付费版本供大家参考。

2023-03-08 12:41:06 6618

带你打开C语言的大门,认识C语言

最近有刚开始学习编程的同学问我:“C语言是什么?C语言是怎么来的?C语言用来干什么?”。 对,在学习C语言之前,首先了解C语言的发展例程,这应该是每一个刚刚开始学习C语言的人应该 了解的,并且还要了解为什么要选择C语言,以及C语言都有那些特性。了解了这些知识后才会更 好的学习C语言。随着计算机科学的不断发展,学习C语言的环境也在不断变化。针对前面提出的 几个问题,从多方整理,下面我们从以下几点介绍C语言 1. C语言的发展史 2. C语言的特点 3.编写一个简单的C程序 4.C语言程序的格式

2023-01-06

C++基础知识精髓总结文档

正所谓万丈高楼平地起,作为一名合格的程序员来说,没有良好的基本功很难达到一定的高度。而工作中大部分编程问题都是基本功不扎实所导致,所以决定花些时间来整理C++相关的基本知识和基本概念供大家参考理解,每一个知识点都结合相关的代码进行验证。本文基本上涵盖了C++最常用的知识点,希望对小伙伴们有所帮助

2022-12-15

一篇上手线程池,手把手教你写线程池

讲解什么是线程池,如何实现一个线程池。通过实例编写实现线程池,一篇就可以让你轻松实现一个线程池。可获取实例源码,以及相关Linux资料。

2022-12-13

Qt5.7.1添加支持openssl

Qt5.7.1添加支持openssl,实际运用中的总结

2022-10-24

Automake创建工程流程及附带的测试工程

Linux系统下Automake创建工程流程,附带创建历程工程。 使用Automake创建自己的工程,方便管理及程序发布,是Linux下开源软件发布的必备工具。

2022-10-24

zlog教程(含源码)

zlog源码及详细的使用说明,可快速移植到自己的程序中,是嵌入式开发中常用的日志工具,可帮助快速的定位问题,分析问题。

2020-03-16

Sourece Insight4.0.086注册文件

最新Sourece Insight4.0.086注册,首先替换exe文件,然后再导入注册文件即可,亲测可用。

2017-06-14

xml文件格式介绍

xml文件格式简介,方便开发者在开发的过程中使用xml文件,了解xml文件的格式及相关操作。

2014-12-12

MFC编程技巧与例子

MFC编程技巧附有例子详解,适合初学者,方便查看学习。

2014-12-12

Linux下C库函数大全

自己整理的Linux C库函数大全,含有标签,方便查询,很实用。

2014-12-12

vlc-0.8.6i源码

vlc-0.8.6i源码,亲自编译通过,并且交叉编译通过。

2014-09-29

VS2010-MFC编程入门

详细的讲解了VS2010下各个控件的使用方法,并对每个控件都有详细的测试用例,非常适合MFC初学者。

2014-03-17

零基础学ASP.net2.0

以动画教程的方式,零基础学习ASP.net2.0,浅显易懂易学易会。不错的资料,供大家分享

2014-01-14

深入浅出ASP.NET程序设计源代码

很好的深入浅出ASP.NET程序设计源代码

2014-01-14

标准mp4文件格式详细解析

本文详细描述了标准mp4的文件格式,本人主要用来研究怎么将H264数据封装成标准的MP4

2014-01-03

BMP YUV RGB 转换工具

很好的一款BMP YUV RGB 转换工具

2013-11-22

VS2008下OCx控件的创建及调用

本文档详细的说明了在VS2008下怎么创建OCX控件以及调用方法,图文升锚的描述了,浅显易懂,并符测试用例Demo

2013-11-13

ubuntu13.04安装及配置(详细说明)

本资源详细描述了ubuntu13.04安装及配置,以及各种服务的搭建及应用程序的安装。全面的总结了ubuntu13.04安装及配置的每个过程。

2013-09-22

linux eth0问题(复制虚拟机后eth0变成eth1或其他)

当克隆或者重装虚拟机后,再启动系统时会发现系统下不再有eth0,而变成了eth1,每次拷贝都会加1.此文档是怎么修改成eth0

2013-09-22

空空如也

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

TA关注的人

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