linux
文章平均质量分 65
学代码的章北海
这个作者很懒,什么都没留下…
展开
-
【Linux服务器编程总结】网络编程基础知识 (udp初级)
其实本质就是大小端。通常在网络传输的时候会将要发送的数据转同一转换成大端后再发送。在linux中提供了如下四个函数进行大小端转换。原创 2023-06-07 00:39:52 · 391 阅读 · 0 评论 -
【多线程操作】线程池模拟实现
首先我们需要在构造函数内初始化条件变量和锁,并创建指定数量的线程,并完成所有的线程准备工作,并通过vector管理起来,当我们通过run拉起所有线程的时候,各个线程会执行routine函数,不同的线程执行不同的任务,不过当任务队列为空的时候各个线程是不会执行routine函数的,只有当向任务队列添加完任务后,并唤醒消费线程,线程才会执行各自的任务,并将任务任务队列中移除。可以把线程的创建和回收用函数封装,实现线程的初始化和回收,同时给传进来的任务通过ThreadData绑定上线程的名称。原创 2023-03-06 21:38:59 · 450 阅读 · 0 评论 -
【linux系统】动静态库的创建和使用
动态库是程序运行时再去链接库的代码,多个程序共享库的一份代码,静态库是程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。所以动态库的体积要小于静态库。原创 2022-12-19 18:40:07 · 460 阅读 · 0 评论 -
【进程间通信(三)】共享内存(system v)
进程之通过key值实现这一点的,key值是由系统路径和你指定的一个id计算而成,当你提供相同的路径和id的时候算出的key值是完全一样的。注意共享内存不仅仅指的是内存数据块,他同时还包括共享内存的内核数据结构。shmflg:由九个权限标志构成,它们的用法和创建文件时使用的mode模式标志是一样的,这里有两个标志码,IPC_CREAT和IPC_EXECL,前者的作用是创建共享内存,若当前key值的共享内存已经存在,就使用旧的共享内存,后者必须和前者一起组合使用,组合效果确保了每次申请的共享内存都是全新的。原创 2022-12-09 21:23:29 · 203 阅读 · 0 评论 -
【c++初阶】系统文件操作
首先我们知道c语言内部有文件操作符,例如fopen,fwrite等函数都是我们熟知的由c语言提供的函数。其实这些函数是把系统接口重新封装了一下。c语言的重新封装让我们能更为容易的使用这些接口。原创 2022-10-22 23:30:09 · 498 阅读 · 0 评论 -
【鸟哥的linux初级笔记——01】
linux操作使用命令进行操作。通过命令+选项的方式进行操作。注意,。同时linux区分大小写,有时候输入的命令行报错很有可能是大小写问题。原创 2022-10-08 17:50:09 · 213 阅读 · 0 评论 -
【linux初阶】进程替换的简单理解
进程调用通常使用exec的函数,当调用该函数时,进程的代码和数据将被新进程所替代,其实通俗的话将就是将磁盘上的新程序加载到物理内存原来指向的位置上,这样就会替换掉原来进程所有的代码和数据。同时页表和进程地址空间没有发生变化。值得注意的是在调用exec函数之前的旧进程的代码还是会实现的,因为这个时候进程还没有进行替换。原创 2022-09-25 22:17:15 · 192 阅读 · 0 评论