gpt4 book ai didi

c - 保持 Erlang 和 C 之间的定义同步

转载 作者:太空宇宙 更新时间:2023-11-04 01:14:48 24 4
gpt4 key购买 nike

来自 http://www.erlang.org/doc/apps/erts/driver.html :

/* Keep the following definitions in alignment with the
* defines in erl_pq_sync.erl
*/
#define DRV_CONNECT 'C'
#define DRV_DISCONNECT 'D'
#define DRV_SELECT 'S'

有什么简单的方法可以在 Erlang 和 C 源代码之间共享宏的值吗?

最佳答案

我对 Erlang 一无所知,但大概你不能只创建一个 .h 文件,其中只包含所需的定义和#include it(或等效的)在两个地方。

如果您无法做到这一点,我会考虑为其中一个自动生成一个文件。

编辑:刚刚查看了 Erlang 文档,格式非常相似但不完全相同。

Erlang 需要 -define(Const, Replacement)

C 需要#define const 替换

所以我会编写一个包含 Erlang 语法(仅用于这些定义)的文本文件,然后作为我的 C 构建中的预构建步骤,我会按照以下方式做一些事情

sed s/-define/#define/g 
sed s/[\(\),]//g

在该文件的临时副本上,然后我会在我的 C 源代码中#include

关于c - 保持 Erlang 和 C 之间的定义同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4214345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com