提取C/C++函数原型

2023-11-29

我想做这个:

extract_prototypes file1.c file2.cpp file3.c

并让任何脚本/程序打印给定 C / C++ 文件中定义的所有函数的函数原型的良好列表。它必须很好地处理多行声明。

有没有一个程序可以完成这项工作?越简单越好。

编辑:在尝试编译两个 C 程序后,使用 {perl、python、ruby} 的程序可以获得加分。


I use ctags

# p = function declaration, f = function definition
ctags -x --c-kinds=fp /usr/include/hal/libhal.h

也适用于 C++

ctags -x --c++-kinds=pf --language-force=c++ /usr/include/c++/4.4.1/bits/deque.tcc

请注意,您可能需要添加包含路径,请使用-I /path/to/includes.

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

提取C/C++函数原型 的相关文章

  • 检测到 NuGet 包的版本冲突

    我正在开发 ASP Net core 2 1 Web 应用程序项目 我的解决方案中有 1 个项目和 3 个其他库 它是高级架构 数据访问层 DAL 业务层 BL 公共层 CL 所以我需要添加引用来连接一些库和项目 我已经添加了CL参考我的项
  • MEX 文件中的断言导致 Matlab 崩溃

    我正在使用mxAssert 宏定义为matrix h在我的 C 代码中 mex 可以完美编译 当我调用的 mex 代码中违反断言时 该断言不会导致我的程序崩溃 而是导致 Matlab 本身崩溃 我错过了什么吗 这是有意的行为吗 当我查看 M
  • Qt - 无法让 lambda 工作[重复]

    这个问题在这里已经有答案了 我有以下功能 我想在其中修剪我的std set
  • 在 C++ 中分割大文件

    我正在尝试编写一个程序 该程序接受一个大文件 任何类型 并将其分成许多较小的 块 我想我已经有了基本的想法 但由于某种原因我无法创建超过 12 kb 的块大小 我知道谷歌等上有一些解决方案 但我更感兴趣的是了解这个限制的根源是什么 然后实际
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 为什么 std::allocator 在 C++17 中丢失成员类型/函数?

    一边看着std 分配器 http en cppreference com w cpp memory allocator 我看到成员 value type pointer const pointer reference const refer
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • C# 搜索目录中包含字符串的所有文件,然后返回该字符串

    使用用户在文本框中输入的内容 我想搜索目录中的哪个文件包含该文本 然后我想解析出信息 但我似乎找不到该字符串或至少返回信息 任何帮助将不胜感激 我当前的代码 private void btnSearchSerial Click object
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12
  • 如何使用 std::array 模拟 C 数组初始化“int arr[] = { e1, e2, e3, ... }”行为?

    注意 这个问题是关于不必指定元素数量并且仍然允许直接初始化嵌套类型 这个问题 https stackoverflow com questions 6111565 now that we have stdarray what uses are

随机推荐

  • PHP 将 24 位颜色转换为 4 位颜色

    背景 我正在将图像转换为 ascii 艺术 这可以完美地工作 甚至可以使用 24 位颜色 将颜色转换为正确的 RGB 值 然而 我现在想用 4 位调色板而不是 24 位来渲染 ASCII 艺术 如何使用 PHP 将 24 位颜色转换为 4
  • 添加到 Woocommerce 的自定义元数据未显示在订单项元中

    我有一个 WooCommerce 订单的自定义元数据 现在我想在结账后将其显示在感谢页面上 但是该数据不可用 数据已保存并可在管理员中使用 但我似乎无法访问它 function custom order item meta item id
  • oData $expand 派生类型

    我在使用 odata 查询获取派生类型时遇到挑战 Url odata resource expand 衍生类型 看到这个link这给出了像这样的选项 People OfType Employee 41 Manager 或 People Em
  • 无法使用 AngularJS 在 Android 浏览器中执行 POST 请求

    我有一个有角度的应用程序 可以显示记录 并让用户能够添加记录 在桌面或 iOS 设备上一切正常 但在 Android 设备上 POST 方法失败 403 禁止 这是我的服务中的代码 obj getRecords function retur
  • 终止正在 Q​​Thread 内运行的正在进行的 QProcess? [复制]

    这个问题在这里已经有答案了 如何终止正在 Q Thread 内运行并被另一个 QThread 删除的正在进行的 QProcess 我什至插入了一个 QMutex extCmdProcessLock 这应该避免在 extCmdProcess
  • Paper.js 外部文件将无法加载

    我只是想进入 paper js 内联时代码可以正常工作 但是当我将它们移动到外部文件并在那里 src 时 错误开始弹出 任何人都可以弄清楚我做错了什么吗 附有错误屏幕截图 非常感谢 错误截图
  • PHP 在 if 语句中组合布尔运算符(AND、OR)

    我想知道是否可以将两个运算符 OR 和 AND 组合在一个 if 语句中 如下所示 if apple 1 orange 2 cake 0 我想说的是 如果苹果等于 1 橙子等于 2 或者蛋糕等于 0 那么就这样做 换句话说 我需要苹果和橙子
  • Python:如何按每个元素的最大值对列表进行排序?

    L a b c d e f 我想按 max a b max c d max e f 等对其进行排序 您可以提供定制key函子到sort L sort key max
  • 如何获取 postgresql 9.5 中特定模式中存在的所有表的表行数?

    如何获取 postgresql 9 5 中特定模式中存在的所有表的表行数 我希望结果为 table name 行数 如何使用查询来完成此操作 这可以通过一些 XML 魔法来完成 select table schema table name
  • Discord.py:为什么我的加入消息不起作用?

    我很困惑为什么我的加入消息不起作用 我安装了discord py库 我真的很困惑 我下面还有其他代码 但它不应该影响上面的代码 import discord client discord Client client event async
  • ASP.NET Core Identity - 获取当前用户

    为了获取 MVC5 中当前登录的用户 我们所要做的就是 using Microsoft AspNet Identity Authorize public IHttpActionResult DoSomething string curren
  • .htaccess 中的条件 PHP 版本

    在我的本地测试服务器上 我使用 PHP 5 4 然而 在实时主机上 我目前仅限于 PHP 5 3 并且必须在 htaccess 中指定它 否则默认为 5 2 所以我可以添加 Use PHP 5 3 Action application x
  • 写入记录器时发生错误。 (无法打开源“.NET Runtime”的日志。您可能没有写入权限。)

    我在 Net core 3 1 中创建了一个 Web 应用程序 并尝试使用 EF Core 访问数据库 在访问它时 我遇到以下错误 奇怪的是 它之前可以正常工作 但应用程序方面没有任何变化 at Microsoft Extensions L
  • 如何在mysql中对西里尔字母进行编码?

    这是怎么回事 我有一个问题 希望你能帮助我解决 我的一个朋友有一个简单 可靠的 html 网站 我实现了一点 php 文章的 CRUD 系统 我遇到的问题是从 mysql 数据库放置和获取西里尔字符 我接下来想要实现的目标是 在主导航中有一
  • 了解地图功能

    Python 2 文档说 内置功能 map function iterable 将函数应用于可迭代的每个项目并返回一个列表 结果 如果传递额外的可迭代参数 函数必须 接受这么多参数并应用于所有项目 并行迭代 如果一个迭代比另一个短 则假定它
  • 使用functions.php将Bootstrap添加到Wordpress

    我尝试使用以下代码将 Bootstrap 嵌入到 Wordpress 但它不起作用 需要帮忙
  • 设置用双引号括起来的单词的 CSS

    这是我的问题的后续问题如果代码包含保留字 则设置代码的 CSS 我正在尝试做什么 如果某些代码有引号或双引号 我想将字体颜色设置为红色和粗体 前任 System out println Hello world 应该将 Hello world
  • 如何使 PageView.Builder() 滚动动画从滞后变得极其流畅 - Flutter

    我使用 PageView Builder 来构建由基本文本小部件数组提供的小部件 但在调试模式下 动画感觉非常滞后 在发布或分析模式下 动画仍然滞后 但少了很多 有什么方法可以完全消除使用PageView时的动画滞后现象 这是我的代码 im
  • 如何从另一台计算机连接到 SQL Server?

    我想使用 SQL Server 2005 从家里连接到另一台 PC 我查看了 msd 但在连接之前它说我应该连接到另一台计算机 使用计算机管理但没有成功 我只能连接到我的工作组中的计算机 谢谢 路易莎 免责声明这只是一些可能对任何人都有帮助
  • 提取C/C++函数原型

    我想做这个 extract prototypes file1 c file2 cpp file3 c 并让任何脚本 程序打印给定 C C 文件中定义的所有函数的函数原型的良好列表 它必须很好地处理多行声明 有没有一个程序可以完成这项工作 越