Linux 环境编程
文章平均质量分 68
Hamlee67
花未全开月未圆
展开
-
VSCode CMake build and debug C/C++ manual
一、platform 1、linux: VScode gcc make cmake 2、win10: VScode cmake mingw64 二、VSCode CMake build and debug C/C++ devel environmet on windows 1、choco install(https://chocolatey.org/install) cmd run: @powershell -NoProfile -ExecutionPolicy Bypass -Command.原创 2021-11-19 15:30:03 · 950 阅读 · 0 评论 -
Linux 环境编程——Linux系统调用
系统调用概述 系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。 从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内核,待内核...转载 2018-11-07 18:53:33 · 217 阅读 · 0 评论 -
Linux 环境编程——浅谈标准I/O缓冲区
标准I/O库提供缓冲的目的是尽可能地减少使用read和write调用的次数。它也对每个I/O流自动地进行缓冲管理,从而避免了应用程序需要考虑这一点所带来的麻烦。不幸的是,标准I/O库最令人迷惑的也是它的缓冲。 标准I/O提供了三种类型的缓冲: 1、全缓冲: 在填满标准I/O缓冲区后才进行实际I/O操作。常规文件(如普通文本文件)通常是全缓冲的。 2、行缓冲: 当在输入和输出中遇到换...转载 2018-11-07 18:57:18 · 235 阅读 · 0 评论 -
Linux 环境编程——信号列表
在 Linux 下,每个信号的名字都以字符 SIG 开头,每个信号和一个数字编码相对应,在头文件 signum.h 中,这些信号都被定义为正整数。信号名定义路径:/usr/include/i386-linux-gnu/bits/signum.h 要想查看这些信号和编码的对应关系,可使用命令:kill -l 列表中,编号为 1 ~ 31 的信号为传统 UNIX 支持的信号,是不可靠信号(非实...转载 2018-11-20 15:29:29 · 216 阅读 · 0 评论 -
Linux 环境编程——浅谈可重入函数与不可重入函数
在实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果有一个函数不幸被设计成为这样:那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。这样的函数是不安全的函数,也叫不可重入函数。 相反,肯定有一个安全的函数,这个安全的函数又叫可重入函数。那么什么是可重入函数呢?所谓可重入是指一个可以被多个任务调用的过程,任务在调用时不必担心数据是否会出错。 一个可...转载 2018-11-20 15:32:27 · 230 阅读 · 0 评论 -
Linux 环境编程—可执行程序结构与进程结构
Linux可执行文件结构 在 Linux 下,程序是一个普通的可执行文件,以下列出一个二进制可执行文件的基本情况: 可以看出,此可执行文件在存储时(没有调入到内存前)分为代码区(text)、数据区(data)和未初始化数据区(bss)3 个部分。各段基本内容说明如下: 代码区: 存放 CPU 执行的机器指令。通常代码区是可共享的(即另外的执行程序可以调用它),使其可共享的目的是对于频繁被...转载 2018-11-15 10:59:22 · 329 阅读 · 0 评论