.h 是从 .h.in 生成的吗?

2024-03-15

我的库在构建后创建的 .h 文件中有结构定义。但我在相应的 .h.in 中找不到这些定义。有人可以告诉我这一切是如何工作的以及它从哪里获取额外信息吗?

具体来说:我正在构建 pth,用户空间线程库。它有 pth_p.h.in,它不包含我正在寻找的结构定义,但是当我构建库时,会出现 pth_p.h 并且它具有我需要的定义。

事实上,我在构建库之前搜索了库中的每个文件,但找不到它在哪里生成结构定义。


Pth 使用 GNUAutoconf https://secure.wikimedia.org/wikipedia/en/wiki/Autoconf, Automake https://secure.wikimedia.org/wikipedia/en/wiki/Automake, and Libtool https://secure.wikimedia.org/wikipedia/en/wiki/Libtool。通过跑步./configure你将运行一个最终运行的 shell 脚本m4 http://www.gnu.org/software/m4/检测是否存在大量不同的系统属性并对许多文件进行更改。

看起来可以归结为./configure生成Makefile from Makefile.in然后通过 make 运行一些东西来触发shtool http://www.gnu.org/software/shtool/子命令scpp:

pth_p.h: $(S)pth_p.h.in
    $(SHTOOL) scpp -o pth_p.h -t $(S)pth_p.h.in -Dcpp -Cintern -M '==#==' $(HSRCS)

模糊链接,但这是一个shtool-scpp 联机帮助页 http://je.je/cgi-bin/man/man2html?1+shtool-scpp,将其描述为:

该命令是附加的 ANSI C 用于共享的源文件预处理器 cpp(1) 代码段,内部 变量和内部函数。这 这样做的意图来自于写作 ANSI C 中的库。这里有一个常见的 共享内部头文件通常是 用于在之间共享信息 库源文件。

该操作是解析特殊的 在文件中构造,生成一些 这些结构之外的东西 将它们插入到 tfile 中的位置标记处 将输出写入 offile。 此外,这些文件永远不会 触摸或修改。相反, 构造稍后被删除 构建过程的 cpp(1) 阶段。这 唯一的前提是每个文件 有一个 ``"#include ""ofile"""'' 在 顶部。

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

.h 是从 .h.in 生成的吗? 的相关文章

  • 如何访问 tcp 标头详细信息?

    就像我创建了套接字并将该套接字绑定到客户端一样 我能够连接两侧并能够发送任意数量的数据 它基本上是 TCP 套接字 我的问题是我想访问 TCP 标头详细信息以检查和设置某种操作的参数 但我无法做到这一点 我正在用户空间中工作 从套接字级别我
  • 如何安装和使用libtool共享库(.lo文件)?

    所以在我运行 libtool 并得到一个libfoo lo and foo o来自我的库源的文件 如何转换libfoo lo文件到一个普通的Linux共享库中 比如libfoo so 1 0 0这样我就可以在我的目标系统上安装并链接到它 从
  • 错误:A 类使用了正在定义的 B 类

    我有一个 C 项目 已使用 C CLI 成功地用 NET 类包装了该项目 我正在定义包装类 h file 我目前正在得到Error C2460 Mixer uses Track which is being defined 正如您在下面的代
  • .cpp 文件和 .h 文件有什么区别?

    因为我已经做了 cpp文件 然后将它们传输到 h文件 我能找到的唯一区别是你不能 include cpp文件 我缺少什么区别吗 C 构建系统 编译器 不知道有什么区别 所以这都是约定之一 约定是 h文件是声明 并且 cpp文件是定义 这就是
  • 发送多个应用协议请求(类似于mailto:)

    我使用的应用程序创建了自己的协议 就像 MS 为其 MSN 客户端所做的那样msnim email protected cdn cgi l email protection 但是 我需要创建一个 PHP 或 javascript 或组合 来
  • Bootstrap 3 导航栏 - 无法正确折叠

    导航栏曾经正常工作 但我做了一些更改 它不再工作 当我将窗口缩小时 会显示切换方块 但是当我单击它时 什么也没有发生 Note 导航栏在全屏下工作正常 它只是在小窗口中 当我单击切换按钮时 下拉菜单不会出现 想知道是否有人知道如何解决它 这
  • PHP + PDF,如何使用curl保存下载的PDF?

    Welcome 我在页面上保存下载的 pdf 时遇到了一些问题 要下载 pdf 我使用 Curl CurlConnect curl init curl setopt CurlConnect CURLOPT URL http website
  • 头文件之间的循环依赖

    我正在尝试实现一个包含两个类的树状结构 Tree and Node 问题是 我想从每个类调用另一个类的函数 因此简单的前向声明是不够的 让我们看一个例子 Tree h ifndef TREE 20100118 define TREE 201
  • 在 XCode 的复制标头构建阶段将角色更改为公共时,如何保留子组?

    目前 层次结构已变平 所有头文件都被复制到我的 Classes 文件夹中的单个 Headers 目录中 无论它们位于哪个子文件夹中 如果标头具有引用子文件夹中其他标头的 include 语句 则在引用标头时就会出现问题 特别是 这会搞砸 B
  • CSS 问题,填写表单时标题会上升

    我有一个奇怪的 CSS 问题 我不太确定如何解决这个问题 当我按下网站上的 登录 按钮并开始输入用户名时 标题会上升 我真的不知道是什么原因造成的 有任何想法吗 Thanks 这是一些代码 表格 tooltip wrap position
  • 错误 C1083 无法打开包含文件:“stdafx.h”:没有这样的文件或目录

    我是 Visual Studio 的新手 我创建了一个简单的控制台应用程序 然后选择了一个 C 的空项目 然后粘贴了以下代码 include stdafx h include
  • 尝试安装 pecl 扩展时在 mac os x 10.7.3 上出现 $PHP_AUTOCONF 错误

    我正在尝试使用 pecl http 和 memcache 设置我的机器 在这两种情况下 我都会遇到类似的错误 这是在 MAC OS X 10 7 3 lion 上 我也在上面安装了 XCODE 在运行这些命令之前 我还安装了 Zend Se
  • Xcode:复制标头:公共、私有、项目?

    我正在构建一个 Cocoa Touch 静态库 我应该如何决定是否将头文件复制为公共 私有或项目 Public 该界面已最终确定 可供产品的客户使用 公共标头作为可读源代码包含在产品中 不受限制 Private 该界面不适用于您的客户 或者
  • mpi.h:使用未定义的类型?

    我正在尝试将 OpenMPI 的 mpi h 的重要部分翻译为 D 编程语言 以便我可以从 D 调用它 HTOD 根本不起作用 我无法理解以下代码段 typedef struct ompi communicator t MPI Comm O
  • Android 列表视图与部分

    您好 我在尝试了解分段列表视图的工作原理时遇到问题 我让它工作到正常的列表视图中 但现在我想将部分添加到我的列表中 如何在其中添加节标题 这是我有效的代码 public class ChooseTeamActivity extends Li
  • 确定文件是否是 zip 存档内的目录

    我根据规范读取 zip 文件 并从中央目录获取每个文件的信息 从标题中我读到 define VERSION NEEDED OFSSET 6 UINT16 versionNeeded UINT16 zipFile VERSION NEEDED
  • jQuery JSON 请求得到“200 OK”答案,但没有内容

    我正在使用 jQuery 通过访问者的 IP 地址获取其位置 有一项很棒的服务叫做免费地理IP http freegeoip appspot com 我需要做的就是在 URL 末尾添加 json 或 xml 然后添加 IP 地址 它将返回所
  • C++ 头文件包含

    我正在开发一个项目 每个头文件都有一个预处理器包含防护 我的包含是这样的 文件 gt 包含 main cpp gt header h 字符 h header h gt 矢量 iostream DataFiles h Character h
  • style.css 在 WordPress 中不起作用

    我的 WordPress 有问题 我已经创建了所有需要的文件 包括 style css index php 等 但页面没有样式 在标题中 除其他外 我把这个
  • 如何在 QTableView 标题中单击鼠标右键单击上下文菜单?

    下面的示例代码 很大程度上受到here http www saltycrane com blog 2007 12 pyqt 43 qtableview qabstracttablemodel 有一个右键单击上下文菜单 当用户单击表中的单元格

随机推荐

  • 循环和递归之间的实际区别是什么

    我目前正在使用 PHP 工作 因此这个示例将使用 PHP 但问题适用于多种语言 我正在和我的一个朋友一起做这个项目 和往常一样 我们遇到了一个大问题 现在我们俩都回家了 无法解决问题 那天晚上我们都找到了解决办法 只是我用了循环来解决问题
  • Swift - 在带有可选参数的泛型函数中以 Nil 作为参数

    我正在尝试创建一个可以接受可选参数的通用函数 这是我到目前为止所拥有的 func somethingGeneric
  • 健全性检查:作为主键浮动?

    我正在使用旧的 sql server 2000 数据库 将其中的一些信息与我正在构建的新应用程序混合在一起 我注意到几个表中的一些主键是浮点数而不是任何类型的整数 它们不是外键并且都是唯一的 我想不出有任何理由让任何人想要让他们的唯一主键
  • 使用 Python 和 Selenium 抓取图形上的悬停

    我正在尝试从中抓取数据http fuelinsights gasbuddy com Charts http fuelinsights gasbuddy com Charts使用Python和Selenium 困难的部分是 只有当鼠标悬停在折
  • Spotify 应用程序请求授权

    我正在尝试使用以下代码从 Spotify 获取 访问令牌 var encoded btoa client id client secret function myOnClick console log clikced ajax url ht
  • iTextSharp 许可 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们想在我们的一个项目中使用 iTextSharp DLL 来提取 PDF 文本 但我第二次考虑将其发布
  • iOS9 上的 Admob 和插页式广告

    今天我注册了 adMob 并开始在我的应用程序中处理 adMob 广告 第一个是游戏 带有视图控制器 我想在游戏结束后立即显示插页式广告 所以我想在游戏结束后立即加载插页式广告游戏结束加载的视图 此视图仅在游戏结束后才可访问 并且游戏持续一
  • 对数组中的对象执行块操作并在全部完成时完成

    我有一个对象数组 我想对其执行块操作 我不确定执行此操作的最佳方法 我正在做类似下面代码的事情 但我认为这不是最佳实践 进行此类操作的最佳方法是什么 void performBlockOnAllObjects NSArray objects
  • 类不符合RequestRetrier协议

    我一直在将我的项目迁移到 swift3 并一直在努力让 Alamofire RequestRetrier 协议正常工作 我遵循 Alamofire 4 0 迁移指南 https github com Alamofire Alamofire
  • 使用 @OneToOne 和 @OneToMany 时如何使 Hibernate OUTER JOIN

    假设我有一张名为employee与领域employee id name and supervisor id and employee supervisor与领域supervisor id and name 存在外键关系employee an
  • Docker:如何对 docker Push 进行身份验证?

    嗨 我正在尝试docker push docker simple httpserver docker push myregistry simplehttpserver latest The push refers to a reposito
  • 活动管理日期过滤器日期格式自定义

    是否有简单的方法可以更改 ActiveAdmin 日期过滤器显示格式的默认 ISO 格式 yyyy mm dd 您可以向日期选择器提供额外的选项 而不是覆盖 js 如下所示 f input my date as datepicker dat
  • 禁用 Android WebView WebRTC

    Fresh Cromium WebView 支持 WebRTC 但我想禁用它 Chrome 应用程序可以允许在 Chrome 中执行此操作 因此这似乎并非不可能 我进行了很多研究 但没有找到合适的解决方案 任何帮助 将不胜感激 更新 仍未解
  • 快速显示所有 Firebase 用户的帖子

    我需要使用 firebase 作为后端创建一个 UISearchController 我目前在 firebase 中有两个用户 一名用户发布了一篇帖子 另一名用户发布了四篇帖子 我希望能够搜索我的数据库中所有书籍的标题 共有五本书 但是 到
  • 在node.js中使MySQL的ORDER BY动态化

    我想做ORDER BYNode js 中的 mysql 查询是动态的 但这不起作用 我console logmultiQuery 变量和一切看起来都很完美 但运行时它根本不起作用 这就是我所拥有的 var order multiQuery
  • Oracle SELECT - 双引号还是没有双引号? [复制]

    这个问题在这里已经有答案了 All 在为 Oracle 11i 数据库编写 SELECT 查询时 为什么 Oracle 中的某些表强制对所选字段应用引号 而其他表则不然 举个我最近遇到的例子 在 Aqua Data Studio 的查询分析
  • 如何在真实设备(移动设备)上开发Windows 10 UWP?

    我正在尝试在真实设备上调试我的应用程序 带有 Windows 10 Mobile 10 0 10581 0 的 lumia 830 开发者模式在两种设备 移动设备和 PC 上均处于开启状态 但是当我尝试在设备上模拟应用程序时 出现错误 DE
  • Rails ActionMailer 编码

    Setup Ruby 1 9 2 Rails 3 2 2 我的电子邮件编码遇到一些问题 注意 我对编码之类的东西不太熟悉 使用 ActionMailer 发送电子邮件时 电子邮件中的 html 出现了一些奇怪的情况 所有等号 都更改为 3D
  • 如何更改MySQL表的默认字符集?

    有一个MySQLtable这个定义取自SQLYog Enterprise Table Create Table etape prospection CREATE TABLE etape prospection etape prosp id
  • .h 是从 .h.in 生成的吗?

    我的库在构建后创建的 h 文件中有结构定义 但我在相应的 h in 中找不到这些定义 有人可以告诉我这一切是如何工作的以及它从哪里获取额外信息吗 具体来说 我正在构建 pth 用户空间线程库 它有 pth p h in 它不包含我正在寻找的