Posix

2024/4/13 11:59:12

C语言编译过程再解析

多年以前,分析过编译过程,并写了一篇博客,现在对编译过程有了更广阔的认识,记录在此 编译过程 中的 链接与 编译 编译过程分为1. 预处理2. 编译3. 汇编4. 链接其中有 2个过程比较特殊,1. 编译2. 链接对于C程序来说,链接分为提前链接(静态链接)对应下图第1行运行时链接(动态链…

glibc: dup/dup2/dup3/F_DUPFD

文章目录 为什么存在这种函数第一个答案第二个兼容老系统另外一个原因 为什么有的软件使用这么频繁 为什么存在这种函数 因为这个dup的行为,就是为文件的操作,多设置几个文件描述符,看似没有什么太大的用途。 第一个答案 正规的解答&#…

编译过程再解析

编译过程分为1. 预处理2. 编译3. 汇编4. 链接其中有 2个过程比较特殊,1. 编译2. 链接对于C程序来说,链接分为提前链接(静态链接)对应下图第1行运行时链接(动态链接)对应下图第2行 对于C程序来说,编译分为普通编译.c -> 与host同架构的.o交叉编译.c -> 与host不同架构的.o…

【Linux】POSIX信号量和基于环形队列的生产消费者模型

目录 写在前面的话 什么是POSIX信号量 POSIX信号量的使用 基于环形队列的生产消费者模型 写在前面的话 本文章主要先介绍POSIX信号量,以及一些接口的使用,然后再编码设计一个基于环形队列的生产消费者模型来使用这些接口。 讲解POSIX信号量时&#x…

【APUE】并发 — 线程

目录 一、线程的概念 1.1 定义 1.2 POSIX 线程标准 1.3 线程标识 1.4 相关函数 1.5 一些补充 二、线程的创建、终止与取消 2.1 创建 2.2 终止 2.2.1 return 2.2.2 pthread_exit 2.3 取消 2.3.1 函数介绍 2.3.2 禁止线程被取消 2.3.3 线程取消方式 2.4 清…

线程的通俗解释

------------------------------------------------------------ author: hjjdebug date: 2024年 03月 17日 星期日 17:04:47 CST descpriton: 线程的通俗解释 ------------------------------------------------------------ 目录: 1. 什么是线程? 2. 线程函数长…

C语言(函数)学习之index、rindex

函数定义:char *index(const char *s, int c); 头文件: #include strings.h 函数说明:index()用来找出参数s 字符串中第一个出现的参数c 地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。 返回值…

嵌入式软件使用POSIX接口的优缺点

嵌入式软件使用POSIX接口的优缺点 POSIX,即Portable Operating System Interface,即可移植操作系统接口。是操作系统为应用程序提供的接口标准。POSIX标准同样适用于嵌入式软件,这里总结一下嵌入式软件使用POSIX接口的优缺点。 http://blog…

如何将Linux端POSIX标准的程序移植到windows端 (二)

上回讲的是怎样将Lua源码从Linux平台移植到windows平台,因为Lua本来就是跨平台、可移植的。可一旦改变Lua源码,使之从ANSI C标准跳转到POSIX标准,上文所说的移植方法就不可取了。下面说说,如何使上述移植成功的方法,对…

POSIX线程同步--互斥量+条件变量

1. 相关函数 #include <pthread.h>pthread_cond_t cond PTHREAD_COND_INITIALIZER;int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t*cond_attr);i…

Pthread:POSIX 多线程程序设计

POSIX 多线程程序设计 Blaise Barney, Lawrence Livermore National Laboratory 目录表 摘要 译者序Pthreads 概述 什么是线程? 什么是Pthreads? 为什么使用Pthreads? 使用线程设计程序 Pthreads API编译多线程程序 线程管理 创建和终止线程 向线程传…

【0198】PGPROC数据结构之信号量

文章目录 1. PGPROC数据结构1.1 结构类型声明相关文章: 【0193】PG内核之释放PGPROC机制 1. PGPROC数据结构 在 【0193】PG内核之释放PGPROC机制一文中讲解过PG内核是如何实现释放PGPROC的一个过程。本文将讲解PGPROC数据结构,包括其成员变量列表,以及各成员变量的作用。 …

程序员造轮子:一个基于posix线程库的互斥类(源码)

posix线程库是C11之前UNIX/LINUX上的标准多线程方案。写起来比较麻烦&#xff0c;所以需要适当包装。 posix线程库的互斥性能比操作系统的信号量性能高很多&#xff0c;毕竟操作系统的信号量会锁定整个系统&#xff0c;而线程库只锁定本进程。 目录 互斥 互斥的相关知识点 …

Unix System V BSD POSIX 究竟是什么?

学习Linux系统,很多同学对这些单词概念很模糊、一脸懵逼! 黄老师觉得,了解了历史,才会真正明白这些单词的含义,坐稳、黄老师发车了!!! 首先介绍一下什么是Unix? UNIX(非复用信息和计算机服务,英语:Uniplexed Information and Computing Service,UnICS)取“UNI…

Unix System V BSD POSIX 究竟是什么?

学习Linux系统,很多同学对这些单词概念很模糊、一脸懵逼! 黄老师觉得,了解了历史,才会真正明白这些单词的含义,坐稳、黄老师发车了!!! 首先介绍一下什么是Unix? UNIX(非复用信息和计算机服务,英语:Uniplexed Information and Computing Service,UnICS)取“UNI…

【操作系统笔记十四】科普:POSIX 是什么

注&#xff1a;本文转载自该文章posix是什么都不知道&#xff0c;还好意思说你懂Linux&#xff1f; Linux开发者越来越多&#xff0c;但是仍然有很多人整不明白POSIX是什么。本文就带着大家来了解一下到底什么是POSIX&#xff0c;了解他的历史和重要性。 一、什么是 POSIX&…

进程管道:popen函数实例

基础知识 可能最简单的在两个程序之间传递数据的方法就是使用popen和pclose函数了。它们的原型如下所示&#xff1a; #include <stdio.h>FILE *popen(const char *command, const char *type);int pclose(FILE *stream); 1&#xff0e;popen函数 popen函数允许一个程…

ACE_Service_Handler类的理解和使用

ACE_Service_Handler和ACE_Svc_Handler是类似的&#xff0c;不同的是使用在proactor中。 ACE_Service_Handler类从代码的接口中直接可以看到很多相关的回调&#xff0c;例如 handle_write_stream &#xff0c;那么它们是什么时候被调的呢&#xff1f;看下代码&#xff1a; 0…

POSIX 网络API原理

1 POSIX 网络API 网络编程常用的API&#xff1a; 2 IO函数的内部过程分析 2.1 Socket socket作为网络编程的第一个函数&#xff0c;主要作用是用于创建句柄和对应的TCB控制块&#xff1b;建立起文件描述符和内部控制块的对应关系&#xff0c;类似与插座和槽的关系。TCB主要…