__printflike__ 修饰符

2023-11-20

“__printflike__ 修饰符”到底是什么?这个词是什么意思?


据猜测,它告诉编译器您正在使用的函数采用以下形式的参数[anything, ] format, ...哪里的format, ...部分看起来像参数printf. The __printflike__属性允许编译器根据字符串格式测试参数列表中的类型。当您编写类似这样的函数时,就会出现这种情况log(format, ...)并使用vsprintf在将字符串发送到某些特殊的日志接口之前,将格式化工作从属于通常的标准库函数。

如果您使用 GCC 那么它可能是#define在你的项目中类似:

#define __printflike__ __attribute__((format(printf, 1, 2)))

Where 1, 2意思是format, ...出现在位置1和2。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

__printflike__ 修饰符 的相关文章

随机推荐

  • 如何在 Python 中将 NumPy 数组转换为列表

    介绍 With NumPy np array对象可以转换为列表tolist 功能 这tolist 函数不接受任何参数 如果数组是一维的 则返回包含数组元素的列表 对于多维数组 返回嵌套列表 先决条件 为了完成本教程 您将需要 熟悉 Pyth
  • 如何访问 DOM 中的元素

    介绍 In 了解 DOM 树和节点中 我们回顾了 DOM 如何构建为称为节点的对象树 这些节点可以是文本 注释或元素 通常当我们访问 DOM 中的内容时 会通过 HTML 元素节点 为了能够自信地访问 DOM 中的元素 最好具备 CSS 选
  • MongoDB findOne 示例

    MongoDB findOne 方法仅返回一个满足以下条件的文档criteria进入 如果输入的条件与多个文档匹配 则该方法根据自然排序仅返回一个文档 这反映了文档在数据库中存储的顺序 MongoDB findOne MongoDB fin
  • 如何在 Java 中打开文件

    有时我们需要在java程序中打开一个文件 java awt Desktop可以用java来打开文件 桌面实现与平台相关 因此首先我们应该检查操作系统是否支持桌面 此类查找注册到当前平台的关联应用程序以打开文件 Java 打开文件 Let s
  • Kotlin 类 - Kotlin 构造函数

    在本教程中 我们将讨论面向对象编程Kotlin 的概念 我们将详细讨论 Kotlin 类 我们还将了解 kotlin 构造函数 访问修饰符和抽象类 Kotlin 类 A class is a blue print defined which
  • 如何在 MySQL 中创建新用户并授予权限

    介绍 MySQL是一个开源的关系数据库管理系统 它通常部署为灯堆栈 这代表Linux Apache MySQL 和PHP 并且 截至撰写本文时 是最流行的开源数据库在世界上 本指南概述了如何创建新的 MySQL 用户并授予他们执行各种操作所
  • 如何在 Rocky Linux 9 上安装和使用 PostgreSQL

    介绍 关系数据库管理系统是许多网站和应用程序的关键组件 它们提供了一种结构化的方式来存储 组织和访问信息 PostgreSQL也称为 Postgres 是一个关系数据库管理系统 它提供结构化查询语言 更广为人知的名称为 SQL 的实现 许多
  • Linux 导航和文件管理

    介绍 导航和操作文件系统中的文件和文件夹是使用大多数计算机的关键部分 云服务器大多使用相同的常见 Linux shell 和常见 Linux 命令来处理文件和文件夹 本终端将介绍使用这些命令的一些基本技能 先决条件和目标 为了遵循本指南 您
  • 如何在 Ubuntu 18.04 上安装 Elasticsearch、Logstash 和 Kibana (Elastic Stack)

    笔者精选互联网档案馆接受捐赠作为为捐款而写程序 介绍 Elastic Stack 以前称为ELK堆栈 是由以下公司制作的开源软件集合Elastic它允许您搜索 分析和可视化从任何来源以任何格式生成的日志 这种做法称为集中记录 当尝试识别服务
  • Log4j2 示例教程 - 配置、级别、Appender

    欢迎使用 Apache Log4j2 示例教程 如果您向专家开发人员询问应用程序中最烦人的事情 答案可能与日志记录有关 如果应用程序中没有合适的日志记录 维护将是一场噩梦 大多数应用程序都会经过开发测试 单元测试 集成测试 但当涉及到生产时
  • 如何在 Debian 8 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈

    介绍 LAMP 软件堆栈 包括LLinux操作系统 A阿帕奇网络服务器 MmySQL 数据库 以及PHP 脚本语言是 Web 或应用程序开发的良好基础 安装在一起后 该软件堆栈使您的服务器能够托管动态网站和 Web 应用程序 在本教程中 我
  • 如何在 Linux 上安装 TestDisk 并恢复已删除的文件

    您是否曾经遇到过不小心删除文件的情况 在本教程中 我们将介绍如何在 Linux 中安装 TestDisk 并恢复已删除的文件 在本教程中 我将使用 Ubuntu 服务器进行工作 但即使您使用任何其他发行版 也可以遵循相同的步骤 唯一不同的是
  • 将QChartView插入到ui中

    我想把在同一个 qtchart 上绘制烛台和 5 天平均线 但给出两个 x 轴图将代码写入 UI 加载器 import sys from PyQt5 QtWidgets import QApplication QWidget from Py
  • 如何将 PowerShell 变量返回到 VBScript

    我有一个 vbscript 来调用 PowerShell 脚本 希望将 PowerShell 输出返回到 HTA HTML 应用程序 GUI 现在我只想看看是否可以将 PowerShell 输出返回到 vbscript 中的 MsgBox
  • 如何找到 .bash_profile 并将其添加到 shell 的初始化文件中? [关闭]

    Closed 这个问题是无关 目前不接受答案 我正在尝试使用 rvm 升级 ruby 上务实网站 它说 重要的部分是将以下行添加到 shell 初始化文件 bash profile 的末尾 s HOME rvm scripts rvm so
  • 卸载 RVM 后 Zshell 启动,退出状态为 1

    我刚刚卸载了rvm 我跑了rvm implode并从中删除了rvm PATH in my zshrc 如指定这个堆栈溢出帖子 卸载后 我注意到我的 shell 启动的退出状态为1 我已经使用它检查过echo 加载 shell 后 我总是得到
  • 按位异或两个数字会得到数字的和或差

    当我对任意两个数字进行异或时 我得到的是它们的差值或总和的绝对值 我在谷歌上搜索了很多 试图找到任何相关的公式 但对此没有明显的公式或陈述 Example 10 XOR 2 1010 XOR 10 1000 8 1 XOR 2 01 XOR
  • 使用for循环在画布上绘制线条

    我正在尝试用画布绘制线条 并使用 for 循环更改坐标 这是我的画布元素
  • PostgreSQL 中数组是否全部为 NULL

    如果 PostgreSQL 数组的所有元素都为 NULL 是否有一个表达式返回 TRUE 如果它是 NULL 以外的值 我当然可以使用类似以下内容的值 SELECT 4 ALL ARRAY 4 5 integer 但是我想用一个进行 ALL
  • __printflike__ 修饰符

    printflike 修饰符 到底是什么 这个词是什么意思 据猜测 它告诉编译器您正在使用的函数采用以下形式的参数 anything format 哪里的format 部分看起来像参数printf The printflike 属性允许编译