GCC 不再实现

2024-01-18

我必须将此代码片段从 varargs.h 更改为 stdarg.h,但我不知道具体如何:

#ifndef lint
int ll_log (va_alist)
va_dcl
{
    int event, result;
    LLog   *lp;
    va_list ap;

    va_start (ap);

    lp = va_arg (ap, LLog *);
    event = va_arg (ap, int);

    result = _ll_log (lp, event, ap);

    va_end (ap);

    return result;
}

当我尝试构建这个时,编译器说:

error "GCC no longer implements <varargs.h>."
error "Revise your code to use <stdarg.h>."

我需要编译和运行的程序有一些类似的片段,我需要知道如何更改它们。如果你能写一些例子,我就满足了。


<varargs.h>是一个预标准的 C 头文件;使用<stdarg.h>反而。差异:

  1. 该函数必须至少采用一个命名参数。
  2. 该函数必须原型化(使用省略号终止符)。
  3. The va_start宏的工作方式不同:它有两个参数,第一个是va_list要初始化,第二个是最后一个命名参数的名称。

Example:

int ll_log (LLog *llog, ...) {
    int event, result;
    LLog   *lp;
    va_list ap;

    va_start (ap, llog);

    lp = llog;
    event = va_arg (ap, int);

    result = _ll_log (lp, event, ap);

    va_end (ap);
    return result;
}

关于va_start:gcc 忽略第二个参数,但不给出正确的参数是不可移植的。

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

GCC 不再实现 的相关文章

  • 在 HKCR 中创建新密钥有效,但不起作用

    我有以下代码 它返回 成功 但使用两种不同的工具使用搜索字符串 3BDAAC43 E734 11D5 93AF 00105A990292 搜索注册表不会产生任何结果 RegistryKey RK Registry ClassesRoot C
  • C# 方法重载决策不选择具体的泛型覆盖

    这个完整的 C 程序说明了这个问题 public abstract class Executor
  • 传递 constexpr 对象

    我决定给予新的C 14的定义constexpr旋转并充分利用它 我决定编写一个小的编译时字符串解析器 然而 我正在努力保持我的对象constexpr将其传递给函数时 考虑以下代码 include
  • 如何将 .txt 文件中的数据转换为 xml? C#

    我在一个文本文件中有数千行数据 我想通过将其转换为更容易搜索的内容来轻松搜索 我希望 XML 或其他类型的大型数据结构 尽管我不确定它是否是最好的对于我的想法 每行的数据如下所示 第 31 册 托马斯 乔治 32 34 154 每本书都不是
  • RestSharp获取序列化输出

    我正在寻找一种方法来访问 AddBody 调用的序列化结果 我正在使用内置的 RestSharp 序列化器 例子 class Foo public string FooField void SendRecord var f new Foo
  • 如何使用 Regex.Replace 从字符串中删除数字?

    我需要使用Regex Replace从字符串中删除所有数字和符号 输入示例 123 abcd33输出示例 abcd 请尝试以下操作 var output Regex Replace input d string Empty The d标识符
  • Eigen 和 OpenMP:由于错误共享和线程开销而没有并行化

    系统规格 Intel Xeon E7 v3 处理器 4 插槽 16 核 插槽 2 线程 核心 Eigen 系列和 C 的使用 以下是代码片段的串行实现 Eigen VectorXd get Row const int j const int
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 在 .NET MAUI 中实现 TouchTracking

    我一直致力于将我们的应用程序从 Xamarin Forms 迁移到 NET MAUI 我们的应用程序几乎没有绘图功能 用户可以用手指进行绘图 我们用了TouchTrackingXamarin Forms 中的 nuget 包 但与 NET
  • 如何递归取消引用指针(C++03)?

    我正在尝试在 C 中递归地取消引用指针 如果传递一个对象 那就是not一个指针 这包括智能指针 我只想返回对象本身 如果可能的话通过引用返回 我有这个代码 template
  • 模板外部链接?谁能解释一下吗?

    模板名称具有链接 3 5 非成员函数模板可以有内部链接 任何其他模板名称应具有外部链接 从具有内部链接的模板生成的实体与在其他翻译单元中生成的所有实体不同 我知道使用关键字的外部链接 extern C EX extern C templat
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • 将函数参数类型提取为参数包

    这是一个后续问题 解包 元组以调用匹配的函数指针 https stackoverflow com questions 7858817 unpacking a tuple to call a matching function pointer
  • 比较:接口方法、虚方法、抽象方法

    它们各自的优点和缺点是什么 接口方法 虚拟方法 抽象方法 什么时候应该选择什么 做出这一决定时应牢记哪些要点 虚拟和抽象几乎是一样的 虚方法在基类中有一个实现 可以选择重写 而抽象方法则没有 并且must在子类中被覆盖 否则它们是相同的 在
  • 将 Lambda 表达式树与 IEnumerable 结合使用

    我一直在尝试了解有关使用 Lamba 表达式树的更多信息 因此我创建了一个简单的示例 这是代码 如果作为 C 程序粘贴到 LINQPad 中 它可以工作 void Main IEnumerable
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 为什么空循环使用如此多的处理器时间?

    如果我的代码中有一个空的 while 循环 例如 while true 它将把处理器的使用率提高到大约 25 但是 如果我执行以下操作 while true Sleep 1 它只会使用大约1 那么这是为什么呢 更新 感谢所有精彩的回复 但我
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • 我可以使用 lambda 函数或 std::function 对象来代替函数指针吗?

    我有一个需要使用的库 它定义了以下内容 typedef void CallbackFunction const int i 并且有一个注册回调的函数 如下所示 void registerCallback CallbackFunction p
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • 使用numpy“模块”对象没有属性“数组”[重复]

    这个问题在这里已经有答案了 我只是想将列表转换为一维数组 如下所示 import numpy as np print np array 2 3 4 但我收到以下错误 Traceback most recent call last File
  • LANGUAGE sql 中函数的 RAISE EXCEPTION 语句的等效或替代方法?

    对于下面编写的函数 RAISE EXCEPTION 语句是否有等效的 或解决方法 LANGUAGE sql CREATE OR REPLACE FUNCTION fn interpolation p yearinteger integer
  • 从 bash 执行 php 脚本时出错

    你好 我正在尝试从 bash 脚本执行 php 文件 bin sh php func php and func php文件看起来像
  • 悬停效果不会在图像上触发

    我将鼠标悬停在 picutre div 中的 img 上时遇到问题 HTML div img class content pic src image exemple jpg alt exemple img class content pic
  • Apple 推送服务证书不受信任

    我最近在我的 M1 mac mini 上创建了 Apple Push Service 证书 在钥匙串中 它表示证书不受信任 我已经安装了开发者关系中级证书 如中所述here https developer apple com forums
  • Ajax字符串长度限制?

    ajax 的 url 中添加的参数长度是否有限制 我在 Ruby 上使用 Thin 服务器 并以以下格式从 Web 浏览器发出 ajax 请求 io new XMLHttpRequest io open GET http localhost
  • 使用UsageStatsManager获取前台应用程序

    我正在尝试使用UsageStatsManager 来获取带有Marshmallow 的Nexus 5 上的前台应用程序 我记得它曾经有效 但由于某种原因 我现在得到包 类名称的空字符串 这是我的实现 public String getFor
  • ffmpeg - 制作干净的 WAV 文件

    我希望使用以下命令将多个文件批量转换为音频文件ffmpeg对于一个名为Star Wars Jedi Knight Dark Forces II 我遇到的问题是ffmpeg似乎正在做一些事情Jedi Knight无法播放声音文件 Jedi K
  • .htaccess 路径只能通过 ip 访问

    我想使用 htaccess 配置阻止来自我的站点的路径 这个想法是只有一组特定的 IP 可以从 URL 访问该特定路径 Note 它是一个路径 而不是页面或目录 我们正在尝试屏蔽 Web 服务 以便仅对 URL 进行后调用 我想要网址exa
  • IntelliJ 抑制 API 方法的未使用警告

    我最近从 Eclipse 切换到 IntelliJ IDEA 我真的很喜欢检查器 发现它们用警告来标记潜在的错误 对我来说非常有用 我遇到了一个我无法解决的问题 我有一些Java项目在其他项目中用作API 因此它包含未使用的方法 这些方法被
  • 如何在nodejs中使用geoNear?

    我想使用地理空间geoNear mongodb中的数据库 Mongo查询 db runCommand geoNear tmp near type Point coordinates 77 00000 12 00000 spherical t
  • ELF可执行文件的起点?

    我用 anjuta 在 lubuntu 12 10 上编译以下 C 程序 int main return 0 文件名是 foobar 然后我打开终端并写入命令 ndisasm foobar b 32 1 gt asm txt 使用32位指令
  • Tranquility服务器不会向druid发送数据

    我在用着imply 2 2 3 这是我的宁静服务器配置 dataSources spec dataSchema dataSource tutorial tranquility server parser type string parseS
  • TCL 的通用字符串引用

    我正在编写一个实用程序 恰好是在 python 中 它以 TCL 脚本的形式生成输出 给定 python 中的一些任意字符串变量 不是 unicode 我想生成一个 TCL 行 例如 set s something 这将设置 TCL 变量
  • 过滤magento订单集合

    我使用以下行从 magento 加载订单集合 Load Order Collection order collection Mage getModel sales order gt getCollection 如何过滤此集合以忽略状态为 已
  • 如何通过“manage.py shell”使用交互式解释器重新加载 Django 模型模块?

    我知道如何在常规 Python 解释器会话中重新加载常规 Python 模块 这个问题记录了如何很好地做到这一点 如何卸载 重新加载 Python 模块 https stackoverflow com questions 437589 ho
  • 如何在 WiX 4 中使用 HarvestDirectory

    我尝试在 WiX 4 Preview 1 中使用 HarvestDirectory 项目元素 但发现它非常不直观 尽管我遵循文档中的面包屑 但我似乎无法让它真正执行任何明显的操作 在 WiX 3 中 我直接使用命令行工具 并且可以通过这种方
  • 在 Kotlin 中写入等于 Int.MIN_VALUE 的十六进制整数文字

    如何编写等于的十六进制整数文字Int MIN VALUE 这是 2147483648十进制 在 Kotlin 中 AFAIK 一个 Int 是 4 个字节 有时看起来像2的补码 https en wikipedia org wiki Two
  • WSO2 EMM Android 代理配置

    我正在尝试使用WSO2 EMM service 我下载了二进制文件并将其上传到我的服务器并在其中配置了 IP 地址 然后 我开始了 是的 效果很好 这是我的地址 a href https ip 94433 emm 普通管理员管理员 但是 我
  • GCC 不再实现

    我必须将此代码片段从 varargs h 更改为 stdarg h 但我不知道具体如何 ifndef lint int ll log va alist va dcl int event result LLog lp va list ap v