各类函数调用

news2025/1/11 19:43:19

目录

getpwuid函数 查看uid的name​编辑

symlink函数软链接(创建快捷方式)

remove函数

rename函数

link硬链接

truncate函数控制文件大小

perror报错函数

strerror报错函数序列表

error报错函数:详细报错

Makefile编译函数、工程管理工具

系统调用和C库调用

1. 系统调用(System Call)

2. C 库调用(C Library Call)

总结

软连接和硬链接区别

硬链接(Hard Link)

软连接(Symbolic Link)

区别


结构体引用时,指针用箭头(info->d_name),变量用 (info.d_name)

组函数  getgrgid

**p和*argv[1]和二维数组使用时可以相互转化

getpwuid函数 查看uid的name

getgrgid函数查找gid的name

symlink函数软链接(创建快捷方式)

remove函数

2.remove  rm -fr 
int remove(const char *pathname);
功能:
    删除一个文件
参数:
    pathname:删除文件的路径
返回值:
    成功返回0
    失败返回-1

rename函数

link硬链接函数

link硬链接

硬链接:删除一个,相互不影响,不能链接文件夹

truncate函数控制文件大小

perror

df -h查看内存情况,找 /  系统存储情况

perror报错函数

strerror报错函数序列表

error报错函数:详细报错

error执行后会结束程序,aaaa语句不打印,即可证明

(只针对系统调用和C库调用检查),成功时返回0,非0失败,错误序列号

内置宏

无头文件即可使用

Makefile编译函数、工程管理工具

版本一

版本二:$^

第三版(推荐版本)

LIB 数学库

系统调用和C库调用

系统调用和 C 库调用是计算机编程中两种不同的功能调用方式,它们各自有不同的作用和实现机制。以下是它们之间的主要区别:

1. 系统调用(System Call)

  • 定义:系统调用是操作系统提供的接口,允许用户程序请求操作系统执行特权操作,例如文件操作、进程管理、内存分配等。这些调用直接与操作系统内核进行交互。

  • 功能:系统调用可以访问硬件资源或系统级功能。例如,打开文件、读取文件、创建进程、分配内存等。

  • 实现:系统调用通常通过中断机制或特权指令进入内核模式。程序在用户模式下执行,发起系统调用时会切换到内核模式,这涉及上下文切换和系统保护机制。

  • 示例

    • 在 Linux 上,read() 和 write() 是系统调用,用于文件的读写操作。
    • fork() 是一个系统调用,用于创建新进程。

2. C 库调用(C Library Call)

  • 定义:C 库调用是指通过 C 标准库(如 libc)提供的函数进行的调用。C 库函数是封装好的接口,它们为用户程序提供更高级别的功能。

  • 功能:C 库函数通常对系统调用进行封装,提供更简洁的接口,处理复杂的细节。例如,字符串处理、内存管理、数学计算等。

  • 实现:C 库调用在用户空间执行,通常通过调用系统调用来实现具体的功能。库函数提供了对系统调用的抽象,使得编程更简洁。

  • 示例

    • printf() 是一个 C 库函数,用于格式化输出到控制台。
    • malloc() 是一个 C 库函数,用于动态内存分配,实际可能会调用系统调用如 brk() 或 mmap() 来管理内存。

总结

  • 系统调用 直接与操作系统内核进行交互,涉及操作系统资源的管理和操作。
  • C 库调用 是对系统调用的封装,为程序员提供更高层次的接口,使得编程更为方便和高效。

简而言之,系统调用是底层的操作系统接口,而 C 库调用是对这些接口的更高层次封装。

软连接和硬链接区别

在 Linux 中,我们经常使用链接来创建文件的副本或者快捷方式。链接分为两种:硬链接(Hard Link)和软连接(Symbolic Link,又称符号链接)。

硬链接(Hard Link)

作用

  • 用来创建一个与源文件相同的文件名,使两个文件名指向同一个 i 结点(inode),对文件的备份有特别的用途。

特点

  • 在同一个文件系统内创建,不能跨文件系统。
  • 文件名只是指向文件的 i 结点,不存储文件的实际内容。
  • 多个硬链接指向相同的 i 结点,意味着只有一个文件的实际副本,多个文件名可以访问同一个文件内容。
  • 如果文件被删除,文件名虽然不再可用,但文件内容依然存在,直到最后一个硬链接被删除。

举例

ln source_file target_file

这时 target_file 就是 source_file 的硬链接。

软连接(Symbolic Link)

作用

  • 用来创建文件的快捷方式,类似 Windows 中的快捷方式。

特点

  • 可以在不同的文件系统之间创建。
  • 是一个指向另一个文件的指针,其本身是一个独立的文件,记录了目标文件的路径。
  • 如果目标文件被移动或删除,软连接会失效,无法访问原文件。

举例

ln -s /path/to/original/file /path/to/target/link

这会在 /path/to/target/link 创建一个指向 /path/to/original/file 的软连接。

区别

  • 跨文件系统:硬链接只能在同一文件系统内创建,软连接则可以在不同的文件系统之间创建。
  • i 结点统一:硬链接不增加文件数量,只是增加文件的引用,所有的硬链接共享同一个 i 结点;而软连接是一个独立的文件。
  • 删除目标文件:如果删除原文件(即软连接指向的文件),所有的软连接都失效,而硬链接不受影响,因为它们共享同一个 i 结点。
  • 权限:硬链接需要对源文件有写权限,软连接则无此要求。

总结来说,硬链接是原始文件的副本,而软连接只是一个指向原始文件的指针。在实际使用中,软连接通常用于目录和不同文件系统之间的连接,而硬链接主要用于频繁读取和更新的普通文件,它们都可以被视为节省空间和加快文件访问速度的有效工具。

产生swp文件

.ll_ls_cat_func.c.swp 这样的文件是编辑器生成的交换文件,主要用于保存编辑状态以防数据丢失。这是 Vim 等文本编辑器用来保护编辑内容的一种机制。了解这些文件的目的和管理方式有助于更好地处理和维护编辑器生成的临时文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2051417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

考试题型宏观分析之公共营养师三级

背景 第一遍知识学习之后,打印《2023.10.14公共营养师三级真题》进行第一次摸底,首要目标在于通过摸底,对于考试题型进行宏观分析和了解,其次,对于后续的学习进行有的放矢 直至2024-08-18,对于上述资料的一…

ubuntu配pip的源

临时使用源 pip install [包名] -i [pip源URL]# 示例 pip install pytest -i https://pypi.tuna.tsinghua.edu.cn/simple更换配置pip镜像源 step1:创建一个配置文件 mkdir ~/.pip/ cd .pip sudo vim pip.conf step2:填写源信息,保存并退出【:wq】 [g…

Android 架构模式之 MVC

目录 架构设计的目的对 MVC 的理解Android 中 MVC 的问题试吃个小李子ViewModelController 大家好! 作为 Android 程序猿,MVC 应该是我们第一个接触的架构吧,从开始接触 Android 那一刻起,我们就开始接触它,可还记得我…

【秋招笔试】8.18科大讯飞秋招-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

【接口测试】Postman + newman超详细图文安装教程

一、Postman安装 下载网址:Postman API Platform 打开网址,选择自己系统对应的版本进行下载。 双击Postman安装包,全自动安装,不需要任何人为干预。安装完成后,页面如下图,点击手动打开注册页面。 自行…

超详细!!!electron-vite-vue开发桌面应用之引入UI组件库element-plus(四)

云风网 云风笔记 云风知识库 一、安装element-plus以及图标库依赖 npm install element-plus --save npm install element-plus/icons-vue npm i -D unplugin-icons二、vite按需引入插件 npm install -D unplugin-vue-components unplugin-auto-importunplugin-vue-componen…

Linux-DNS域名解析服务

系列文章目录 提示:仅用于个人学习,进行查漏补缺使用。 1.Linux网络设置 2.LinuxDHCP服务 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言提示:以下是本篇文章…

扫描切除-实体轮廓:方程式驱动曲线路径vs螺旋线路径

最近,在使用solidworks2018的过程中,接触到扫描切除-实体轮廓命令,如图1-2所示。此命令可以使用一个实体来切除另一个实体,用来切除的实体可以按一定的轨迹运动。测试过程中发现,这个命令频繁出错,切除失败,体验实在是太差了。下面对比了在该命令下使用方程式驱动曲线和…

后端学习笔记(八)--HTML

1.HTML ​ *编写网页的一门语言 ​ *HTML(HyperText Markup Language):超文本标记语言 ​ *超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容 ​ *标记语言:由标签构成的…

代码随想录DAY18 - 二叉树 - 08/17

目录 二叉搜索树的最小绝对差 题干 思路和代码 方法一:求中序序列 方法二:递归法双指针法 方法三:迭代法双指针法 二叉搜索树中的众数 题干 思路和代码 方法一:求中序序列 方法二:递归法双指针中序遍历 ​编…

基于 Konva 实现Web PPT 编辑器(一)

前言 目前Web PPT编辑比较好的库有PPTist(PPTist体验地址),是基于DOM 的渲染方案,相比 Canvas 渲染的方案,在复杂场景下性能会存在一定的差距。不过确实已经很不错了,本应用在一些实现思路、难点攻克上也参考了pptist的思想&#…

1:html的介绍与基础1

目录 1.1html的介绍 1.2html的基础1 1.2.1标题,头部与基本的格式怎么写 1.2.1.1标题与基本格式 1.2.1.2头部 1.2.2段落 1.2.3链接 1.2.3.1基本的网页链接 1.2.3.2图像链接 1.2.4注释 1.1html的介绍 HTML是一种标记语言,用于创建,设…

EmguCV学习笔记 VB.Net和C# 下的OpenCv开发

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 笔者的博客网址:https://blog.csdn.net/uruseibest 本教程将分为VB.Net和C#两个版本分别进行发布。 教程VB.net版本请…

高效同步与处理:ADTF流服务在自动驾驶数采中的应用

目录 一、ADTF 流服务 1、流服务源(Streaming Source) 2、流服务汇(Streaming Sink) 二、数据链路 1、数据管道(Data Pipe) 2、子流(Substreams) 3、触发管道(Tri…

遥感之常用各种指数总结大全

目前在遥感领域基本各种研究领域都会用到各种各样的指数,如水体指数,植被指数,农业长势指数,盐分指数,云指数,阴影指数,建筑物指数,水质指数,干旱指数等等众多。 本文对上…

Qt第十五章 动画和状态机

文章目录 动画框架动画架构动画框架类QPropertyAnimation串行动画组QSequentialAnimationGroup并行动画组QPararallelAnimationGroupQPauseAnimationQTimeLine窗口动画下坠效果抖动效果透明效果 状态机QStateQStateMachine 动画框架 动画架构 动画框架类 类名描述QAbstractAn…

字符串金额转换,字符串手机号屏蔽,身份证信息查看,敏感词替换

2135 在发票上面该写成零佰零拾零万贰仟壹佰叁拾伍元 我们用逆推法可以写成零零零贰壹叁伍->贰壹叁伍->2135 1.遍历获取到每一个数字,然后把大写放到数组里面,将数字当作索引,在数组里面查找大写 package stringdemo;import java.uti…

传输层安全性 ——TLS(Transport Layer Security)简介

TLS(Transport Layer Security)是一种广泛使用的安全协议,旨在确保互联网通信的隐私性和数据完整性。它是SSL(Secure Sockets Layer)的继任者,最初版本于1999年发布,最新版本是TLS 1.3。 TLS 握手为每个通信会话建立一个密码套件密码套件是一组算法,其中指定了一些细节…

如何轻松获取麒麟操作系统架构信息?

如何轻松获取麒麟操作系统架构信息? 一、使用uname -a命令二、用arch命令三、示例输出 💖The Begin💖点点关注,收藏不迷路💖 在使用麒麟操作系统(Kylin OS)时,了解系统的架构信息对于…

stm32单片机学习 - stm32 的命名规则

STM32命名规则: 以STM 32 F 103 C 8 T 6 A xxx为例: