gpt4 book ai didi

c++ - 源和错误运行时组件之间的依赖关系

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:34:13 26 4
gpt4 key购买 nike

我有一个恼人的组件之间的依赖问题,我想听听几种解决它的方法。

基本上我有 3 个组件几乎非循环地相互依赖,除了第一个和最后一个组件之间的小依赖。具体来说,这是一个 JIT 编译器,但希望它是一种广泛出现的抽象依赖类型,可能会在其他情况下发生。

Component dependency diagram

组件基本上是流依赖的顺序;源/AST 生成、代码生成和运行时。从图中可以清楚地看出,运行时生成的错误应该能够传达与源位置项相关的 ID。棘手的部分是这个 Id 不一定是整数类型(尽管它可以是)。到目前为止,SourceItemID 是 Source 组件内部的类型,但现在它似乎需要在它外部定义。

在这里使用什么是最佳模式?我在想也许可以使用所需的源位置 ID 模板化运行时错误类型。

最佳答案

最简单的解决方案是在所有实际处理单元都使用的独立单元(可能是单个 header )中定义模块使用的所有类型和常见行为。

为了最小化开销/麻烦和兼容性问题(这些共享类型在某些时候可能在其他地方有用,用于与其他应用程序/插件/其他任何东西进行通信),请尽可能保留这些类型的 POD。

“模板化”事物并非微不足道。它非常强大且富有表现力,但如果您正在考虑删除依赖项,我的意见是:首先尝试看看是否可以简化

关于c++ - 源和错误运行时组件之间的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7802695/

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