E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Linux_系统编程
Linux
系统编程
:线程同步及生产与消费者模型
目录一.线程同步的概念及功能二.线程同步的实现方法2.1条件变量相关函数2.2线程同步demo代码三.生成与消费者模型3.1生产与消费者模型的概念3.2生产与消费者模型实现代码四.总结一.线程同步的概念及功能为了了解线程同步的概念及实现的功能,要先明确线程互斥的缺点。如伪代码1.1所示的情况,在加锁和解锁之中,需要对临界资源是否满足条件进行判断,如果临界资源条件满足,才会执行有效的操作,临界资源条
【Shine】光芒
·
2023-08-31 03:01
Linux系统和网络
linux
运维
服务器
第二节 Linux
系统编程
-helloworld
-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.第一:本章导读本实验介绍经典的helloworld程序,就几行代码,非常简单,主要是需要学习一下应用程序如何编译、如何运行、如何修改权限等等实际操作。•标准输入/输出–格式化输出函数printf–linux终端•在Ubuntu系统home目录下新建目录linuxsystem
嵌入式开发学习者
·
2023-08-31 00:50
Linux
迅为
对JS异步编程的探究
因为JavaScript只是一个浏览器的脚本语言,和其他语言比如Java、c++不一样,可以这样理解:JavaScript是面向浏览器编程的语言,而Java、c++等是面向操作
系统编程
。
o0ther
·
2023-08-29 18:09
Linux
系统编程
:基础知识入门学习笔记汇总
Linux基础shell编程——>Linux
系统编程
——>(计算机网络)——>Linux网络编程来源:黑马程序员-Linux
系统编程
45小时评价这个老师好像讲了很多课程,都还不错我由于赶时间之前学过Linux
刘鑫磊up
·
2023-08-29 18:27
#
Linux系统编程
学习
笔记
Linux系统编程
Linux
系统编程
系列之进程间通信(IPC)-管道
一、什么是管道在Linux系统下,一切皆文件,所以管道就是一个文件,用来实现进程间通信的一种方式。分析小技巧:对于一些陌生的概念,都把它当成是文件,然后操作的时候,就是三部曲。文件打开,文件读写,文件关闭。二、有哪几种管道匿名管道和具名管道。有些地方又称为无名管道和有名管道。三、管道的特性1、匿名管道(PIPE)(1)匿名管道没有名称,因此无法使用open创建或者打开,事实上匿名管道有自己独特的创
Great Macro
·
2023-08-29 16:20
Linux
C语言程序设计
c语言
linux
Linux
系统编程
系列之进程基础
一、什么是进程关于进程的定义很多,这里讲一种比较直接的,进程就是程序中的代码和数据被加载到内存中运行的过程,就是程序的执行过程。进程是动态的,而程序是静态的。程序存储在硬盘里,进程只有在程序被执行后,才存在,而且存在于内存中。具体看下图:在Linux系统中,程序的格式都是ELF,这些文件在被执行的瞬间,就被载入内存,所谓的载入内存,如上图所示,就是将数据段,代码段这些运行时必要的资源拷贝到内存,另
Great Macro
·
2023-08-29 16:20
Linux
大学课程知识
C语言程序设计
linux
Linux
系统编程
系列之进程间通信(IPC)-信号
一、什么是信号信号是进程间通信的一种方式,它是异步通信的。而异步的意思就是不同步,事件的发生和处理没有协同。二、信号的特性Linux/Unix系统下,信号总共分成两大类,一类是最常用的标准信号,另一类是后面的引入的实时信号。一共有62个信号,前31个是标准信号,后面31个是实时信号。注意没有32,33号。1、标准信号(1)不排队,信号的响应会相互嵌套。(2)如果目标进程没有及时响应,那么随后到达的
Great Macro
·
2023-08-29 16:49
Linux
C语言程序设计
linux
c语言
C语言的发展及特点
当时,Ritchie的目标是为Unix操作系统开发一门能够更方便地进行
系统编程
的语言。事实证明,C语言不仅在Unix系统上大放异彩,还逐渐传播至其他领域。
沐尘而生
·
2023-08-29 13:01
零基础学C语言
c语言
开发语言
c#
Linux学习之
系统编程
篇:使用信号量实现“生产者和消费者模型”
模型中,最为关键的步骤是,在生产者回调函数中,未生产之前,消费者回调函数是阻塞的,阻塞方式是条件变量。那么不使用条件变量,如何使用“信号量”实现阻塞呢?答案是因为调用sem_wait,当sem==0时候,该线程就会阻塞。因此:生产者对应一个信号量:sem_tproduce;消费者对应一个信号量:sem_tcustomer。sem_init(&produce,0,2);sem_init(&custo
心若向阳,何谓悲伤
·
2023-08-29 11:17
Linux笔记
信号量
系统编程
【Linux操作系统】Linux
系统编程
中的读写锁
2.提供的操作函数在Linux
系统编程
中,读写锁的相关函数也是通过pthread库提供的
嵌入式小白—小黑
·
2023-08-29 11:45
操作系统
linux
java
数据库
【Linux操作系统】Linux
系统编程
中的互斥锁
文章目录1.互斥锁的原理2.互斥锁的相关函数3.互斥锁的例子总结1.互斥锁的原理在Linux
系统编程
中,互斥锁(Mutex)是一种用于保护共享资源的同步机制。
嵌入式小白—小黑
·
2023-08-29 11:45
操作系统
前端
数据库
linux
【Linux操作系统】Linux
系统编程
中条件变量实现生产者消费者模型
在Linux
系统编程
中,条件变量是一种用于线程间同步的机制,常用于实现生产者消费者模型。生产者消费者模型是一种常见的并发编程模型,用于解决多线程环境下的数据共享和同步问题。
嵌入式小白—小黑
·
2023-08-29 11:41
操作系统
linux
java
运维
Liunx
系统编程
篇—进程通信(五)信号(二)(sigaction、sigqueue)
本文承接上文Liunx
系统编程
篇—进程通信(五)信号(一)(原理、概述、创建、实战)(kill、signal)上文对于信号的一些理论,本文就不再赘述。
阿波罗啦啦啦啦
·
2023-08-29 02:25
Liunx系统编程篇
linux
嵌入式
经验分享
Linux
系统编程
(信号处理 sigacation函数和sigqueue函数 )
文章目录前言一、sigaction二、sigqueue函数三、代码示例总结前言本篇文章我们来介绍一下sigacation函数和sigqueue函数。一、sigactionsigaction是一个用于设置和检查信号处理程序的函数。它允许我们指定信号的处理方式,包括指定一个函数作为信号处理程序、设置标志位以及指定信号处理程序执行期间的信号屏蔽字等信息。下面是sigaction函数的原型:intsiga
花落已飘
·
2023-08-29 02:23
Linux系统编程
linux
信号处理
数据库
嵌入式学习之指针
今天周天,主要对linux
系统编程
的知识进行了学习,但是很多精华还是没有学到位,重点的学习内容是把linux中open,write,lseek,close的相关操作进行了学习。
GoodtimeGood
·
2023-08-28 17:59
学习
Mac下配置Go开发环境
Go的语法接近C语言,可以进行网络编程、
系统编程
、并发编程、分布式编程。下面演示如何在Mac电脑上搭建Go语言开发环境。
ShineYangGod
·
2023-08-28 12:51
Linux
系统编程
之文件编程常用API回顾和文件编程一般步骤
目录1.打开文件2.创建文件3.写入文件4.读取文件5.光标定位6.关闭文件7.文件编程一般步骤Linux系统提供了一些常用API如:打开/创建open/creat读写write/read光标定位Iseek关闭close1.打开文件参数说明Pathname:要打开的文件名(含路径,缺省为当前路径)Flags:O_RDONLY只读打开O_WRONLY:只写打开O_RDWR可读可写打开当我们附带了权限
m0_74712453
·
2023-08-28 08:43
Linux学习记录
linux
运维
服务器
Linux
系统编程
01--Linux的基本操作指令
作者介绍作者介绍学习目标:1.1命令解析器---shell(用于解析用户输入终端的指令)1.2shell操作和相关的快捷键2.Linux下的目录结构2.1linux系统的目录结构2.2linux主要目录介绍2.3文件的操作指令2.4用户权限的操作指令chmod(修改用户权限和用户相关的组)2.5find命令(查找:知道文件名,不知道在哪时使用)2.6grep命令2.7给脚本中定义自己常用命令3.软
骊山道童
·
2023-08-28 08:01
Linux操作系统
python
github
网络
Linux
系统编程
:对于线程概念的理解
目录一.预备知识1.1OS对于地址空间的细粒度划分管理1.2IO的基本单位1.3一级页表和二级页表二.线程的基本概念2.1什么是线程2.2Linux环境下对于进程和线程的重新理解2.3线程的创建2.4线程和进程的特性比较三.总结一.预备知识1.1OS对于地址空间的细粒度划分管理我们知道,对于每一个正在运行的进程,OS都会为它创建一个PCB,并为其分匹配虚拟的进程地址空间和页表,而进程地址空间中,根
【Shine】光芒
·
2023-08-27 21:07
Linux系统和网络
linux
运维
服务器
Linux
系统编程
:进程信号的处理
目录一.用户态和内核态1.1用户态和内核态的概念1.2用户态和内核态之间的切换二.信号的捕捉和处理2.1捕捉信号的时机2.2多次向进程发送同一信号2.3sigaction函数三.可重入函数和不可重入函数四.volatile关键字五.SIGCHLD信号5.1SIGCHLD信号的意义5.2通过SIGCHLD信号等待子进程5.3对于SIGCHLD信号的SIG_DFL和SIG_IGN处理方法六.总结一.用
【Shine】光芒
·
2023-08-27 21:06
Linux系统和网络
linux
运维
服务器
Linux
系统编程
:进程信号的保存和阻塞
目录一.信号保存和阻塞的相关概念二.进程信号的表示2.1进程信号在内核中的表示2.2sigset_t类型三.信号集操作相关函数3.1sigset_t类型参数设置相关函数3.2sigprocmask函数3.3sigpending函数四.演示代码4.1将所有信号的处理方式都注册为不退出进程4.2显示未决信号集4.3所有信号设置为阻塞五.总结一.信号保存和阻塞的相关概念信号递达:进程实际执行信号处理的动
【Shine】光芒
·
2023-08-27 21:36
Linux系统和网络
服务器
运维
linux
Linux
系统编程
:线程控制
目录一.线程的创建1.1pthread_create函数1.2线程id的本质二.多线程中的异常和程序替换2.1多线程程序异常2.2多线程中的程序替换三.线程等待四.线程的终止和分离4.1线程函数return4.2线程取消pthread_cancel4.3线程退出pthread_exit4.4线程分离pthread_detach五.总结一.线程的创建1.1pthread_create函数函数原型:i
【Shine】光芒
·
2023-08-27 21:34
Linux系统和网络
linux
运维
服务器
Linux入门
系统编程
三 嵌入式开发 使用gcc制作静态库&动态库,及调用库头文件应用
一、静态库的制作与使用生成静态的主要是有5个步骤1、编写源代码2、将要编译成库的源文件编译成.o文件3、使用ar命令创建静态库4、调用库5、测试静态库的命名规则:lib开头。.a结尾。lib和.a中间的称作库名。lib+库名称作库文件名1.1先写两个测试程序,这里使用mylib.c和test.cmylib.c#include#includevoidmylib(void){printf("thisi
qingeratech
·
2023-08-27 15:34
linux
服务器
系统编程
ubuntu
动态库
静态库
Linux系统入门之-
系统编程
【open、close函数】
继上一篇环境配置后就正式开始
系统编程
RK3568开发板入门之-tftp&nfs的配置open的使用,使用之前可以先在Ubuntu下查看帮助,了解open的使用和语法,如下:man2open对于open函数
qingeratech
·
2023-08-27 15:33
linux
运维
ubuntu
buildroot
RK3568
Linux
系统编程
7:读写锁
1.接口intfcntl(intfiledes,intcmd,...)1.1锁操作intfcntl(intfd,intcmd,structflock*lock)参数No.参数含义1fd文件描述符2cmd命令。F_GETLK:获取锁;F_SETLK:设置锁;F_SETLKW:设置阻塞锁。3structflock锁信息锁信息No.参数含义1l_typeF_RDLCK:读取锁(共享锁);F_WRLCK:
jdzhangxin
·
2023-08-27 08:36
Linux
系统编程
--文件编程--打开创建文件
创建文件需要包含以下3个头文件#include#include#include打开、创建文件有以下3个APIopen的返回值——文件描述符(索引作用),是一个小的非负整数intopen(constchar*pathname,intflags);intopen(constchar*pathname,intflags,mode_tmode);intcreat(constchar*pathname,mo
清源子呀
·
2023-08-26 22:19
嵌入式Linux学习
linux
新手如何快速学习C++!思路清晰好执行
C++是一种广泛使用的编程语言,它被广泛应用于游戏开发、
系统编程
、嵌入式开发等领域。对于新手来说,快速掌握C++技能是非常重要的。本文将为新手提供一些快速学习C++的方法和技巧。
打工人何苦为难打工人
·
2023-08-25 20:43
学习
c++
开发语言
Linux下的
系统编程
——vim/gcc编辑(二)
前言:在Linux操作系统之中有很多使用的工具,我们可以用vim来进行程序的编写,然后用gcc来生成可执行文件,最终运行程序。下面就让我们一起了解一下vim和gcc吧目录一、vim编辑1.vim的三种工作模式2.基本操作之跳转字符(1)显示行号:(2)跳转到指定行:(3)跳转文件首:(4)跳转文件尾:(5)自动格式化程序:(6)大括号对应:(7)光标移至行首:(8)光标移至行尾:3.基本操作之删除
我想学LINUX
·
2023-08-25 17:41
linux
运维
服务器
刷题1--动态规划
而且还要学习一些网络编程、
系统编程
知识,心思顾不上那么多。现在从动态规划开始认真总结,每天刷个几道,不能断,希望自己坚持住。
zhaojiazb
·
2023-08-25 12:17
算法
动态规划
算法
将vim里的代码复制到系统粘贴板
在学习
系统编程
时,在vim中编写完程序后想要粘贴到外部时,我都是用ctrl+shift+c,但是会一同把程序行号粘贴上,十分影响使用。
zhaojiazb
·
2023-08-25 12:16
Linux系统编程
linux
vim
仿真SMT32F103C8T6最小系统
STM32F103C8最小
系统编程
系统介绍程序编制程序下载总结后记系统介绍STM32F103C8是属于ARMCortex-M3系列的32位RISC内核的处理器芯片。
caixf_001
·
2023-08-25 09:25
STM32F10x
STM32F10x最小系统
linux
系统编程
-进程和线程相关、锁机制
1、进程的创建使用fork()创建进程系统调用fork()允许一进程(父进程)创建一新进程(子进程)。需要注意的点有:a、子进程拷贝父进程的栈、数据段、堆,与父进程共享文本段。b、库函数exit(status)终止一进程,将进程占用的所有资源(内存、文件描述符等)归还内核,父进程可使用系统调用wait()来获取该状态。c、系统调用execve(pathname,argv,envp)加载一个新程序,
别拿嵌入式不当码农
·
2023-08-25 07:23
linux
c语言
嵌入式
Linux下的
系统编程
——makefile入门
前言:或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。一、makefile:管理项目。设置文件add.cdiv1.csub.chello.c命名:makefileMa
我想学LINUX
·
2023-08-25 06:02
linux
服务器
makefile入门
Linux系统编程
ubuntu
编辑器
c语言
【Linux操作系统】深入探索Linux
系统编程
中的信号集操作函数
在Linux
系统编程
中,信号集操作函数是非常重要的工具,它们允许我们对信号进行管理和控制。
嵌入式小白—小黑
·
2023-08-24 17:16
操作系统
linux
运维
服务器
【Linux操作系统】Linux
系统编程
中信号捕捉的实现
在Linux
系统编程
中,信号是一种重要的机制,用于实现进程间通信和控制。当某个事件发生时,如用户按下Ctrl+C键,操作系统会向进程发送一个信号,进程可以捕获并相应地处理该信号。
嵌入式小白—小黑
·
2023-08-24 17:16
操作系统
linux
数据库
运维
【Linux操作系统】学习Linux
系统编程
信号部分前你必须要知道这些
本文着重讲解Linux
系统编程
中的信号处理基础知识,包括信号的概念、信号的机制、信号相关的事件和状态、信号集、信号的编号、信号的4要素和常规的信号等,这些都是学习信号部分必须要掌握的内容。
嵌入式小白—小黑
·
2023-08-24 17:45
操作系统
linux
学习
网络
C语言 思维导图 总结
N的学习,不断精进C语言):《C语言程序设计》谭浩强《C和指针》《C陷阱与缺陷》《C专家编程》《高质量C/C++编程》2C语言学习思维导图总结该导图主要是C语言语法基础的一些知识总结,主要为后面C语言
系统编程
和
图王大胜
·
2023-08-24 09:53
Linux
系统
汽车Bootloader原理
2.原理概述单片机通常烧录有三种:ISP(In-SystemProgramming)在
系统编程
,使用引导程序(Bootloader)加上外围UART/SPI等接口进行烧录。
zhaqonianzhu
·
2023-08-24 09:19
bootloader
Linux下的
系统编程
——基础操作(一)
前言:linux
系统编程
是基于Linux系统进行程序开发的一个过程,主要涉及到的是linux系统中的函数使用如下图所示:最外层的是咱们的应用程序,这部分程序大多调用的是咱们标准库,或者说是C库,这部分库函数能满足大部分的应用程序的开发
我想学LINUX
·
2023-08-23 14:44
linux
运维
服务器
编辑器
开发语言
Java面试相关
如c/c++是面向操作
系统编程
的解释执行和编译执行:解释执行指一行一行的翻译给机器执行,编译执行指以方法为单位,将字节码一次性翻译为机器码后执行。前者的优势在于不用等待,后者则在实际运行当中效率更高。
zzhy在学习
·
2023-08-21 19:44
Rust 基础入门 ——所有权 引言 :垃圾自动回收机制的缺陷。
在以往,内存安全几乎都是通过GC的方式实现,但是GC会引来性能、内存占用以及Stoptheworld等问题,在高性能场景和
系统编程
上是不可接受的,我们先介绍一下这些概念都是什么:内存安全是指程序在运行过程中不会访问未分配的内存或者已释放的内存
ALex_zry
·
2023-08-21 17:52
Rust
rust
算法
Linux
系统编程
拾遗
Linux
系统编程
拾遗进程的创建进程的创建fork()、exit()、wait()以及execve()的简介创建新进程:fork()
yaoming168
·
2023-08-20 22:29
Linux学习
linux
Linux
系统编程
:软硬链接和动静态库
目录一.软硬链接1.1软硬链接的创建方法1.2软硬链接的特性二.动静态链接2.1动态链接和静态链接的概念2.2动态链接程序载入内存的方式三.动静态库的制作和使用3.1静态库的制作3.2静态库的使用3.3动态库的制作3.4动态库的使用四.总结一.软硬链接1.1软硬链接的创建方法假设当前路径下有一个名为test.txt的文件,我们希望为它创建一个名为softlink的软连接和一个名为hardlink的
【Shine】光芒
·
2023-08-20 18:38
Linux系统和网络
linux
运维
服务器
Linux
系统编程
:采用管道的方式实现进程间通信
目录一.进程间通信概述二.管道的概念三.通过管道实现进程间通信3.1实现原理3.2匿名管道创建系统接口pipe3.3管道通信的模拟实现3.4管道通信的访问控制规则3.5管道通信的特点四.通过匿名管道实现进程池4.1进程池的概念4.2进程池的模拟实现五.命名管道5.1命名管道的功能5.2命名管道的创建和使用六.总结一.进程间通信概述进程间通信的目的:实现进程之间的数据传输、共享资源、事件通知、多进程
【Shine】光芒
·
2023-08-20 18:08
Linux系统和网络
linux
运维
服务器
Liunx
系统编程
:进程信号的概念及产生方式
目录一.进程信号概述1.1生活中的信号1.2进程信号1.3信号的查看二.信号发送的本质三.信号产生的四种方式3.1按键产生信号3.2通过系统接口发送信号3.2.1kill--向指定进程发送信号3.2.2raise--当自身发送信号3.2.3abort--向自身发送进程终止信号3.3软件条件产生信号3.3.1管道通信读端关闭3.3.2时钟问题3.4硬件异常产生信号3.4.1除0错误3.4.2野指针、
【Shine】光芒
·
2023-08-20 18:06
Linux系统和网络
服务器
运维
linux
信号
本文参考:Linux中的信号_linux中信号_wolf鬼刀的博客-CSDN博客Linux
系统编程
(信号处理sigacation函数和sigqueue函数)_花落已飘的博客-CSDN博客Linux的sigqueue
mjmmm
·
2023-08-20 15:08
linux
运维
服务器
系统编程
C语言
【Linux操作系统】深入探索Linux进程:创建、共享与管理
进程的创建是Linux
系统编程
中的重要概念之一。在本节中,我们将介绍进程的创建、获取进程ID和父进程ID、进程共享、exec函数族、wait和waitpid等相关内容。
嵌入式小白—小黑
·
2023-08-20 15:12
操作系统
linux
运维
服务器
【Linux操作系统】详解Linux
系统编程
中的管道进程通信
在Linux
系统编程
中,管道是一种常用的进程间通信方式。它可以实现父子进程之间或者兄弟进程之间的数据传输。本文将介绍如何使用管道在Linux系统中进行进程通信,并给出相应的代码示例。
嵌入式小白—小黑
·
2023-08-20 15:12
操作系统
linux
运维
服务器
【Linux操作系统】Linux
系统编程
中的共享存储映射(mmap)
在Linux
系统编程
中,进程之间的通信是一项重要的任务。共享存储映射(mmap)是一种高效的进程通信方式,它允许多个进程共享同一个内存区域,从而实现数据的共享和通信。
嵌入式小白—小黑
·
2023-08-20 15:12
操作系统
linux
java
服务器
深入探讨 Oxigen:Rust 实现的并行遗传算法框
Rust是一种专注于性能和安全的
系统编程
语言。它提供了零成本抽象、移动语义、保证内存安全、线程安全的机制,这些特点
快撑死的鱼
·
2023-08-20 10:10
rust
开发语言
后端
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他