0

我有一个遗留 C 函数,它使用如下结构定义

struct{
    float _schedulerRate;
}sched_;

#define sched_1 sched_;


// bla bla bla

myFunc(bla bla bla) {

      // Lots of bla bla bla
      someVar = some_complicated_equation/sched_1._schedulerRate;
      // More bla bla bla
}

这个函数甚至不接受任何以某种方式分配给sched_1._schedulerRate元素的参数。我也知道我不能定义结构使用extern,因为这个链接确实支持结构定义。

问题是当我对它进行单元测试时,我必须为此设置一个值sched_1._scheduerRate。我怎样才能做到这一点?这是一个成功运行的遗留代码,但我正在尝试将它的一个模块集成到一个侧面项目中。

我在 C/C++ 编程方面只有 1.5 年的经验,这可能就是我不知道一些魔术的原因。但即使从新手用户的 PoV 来看,这对我来说似乎也几乎不可能做到。但是,它是遗留代码并且也可以工作!我怎么不知道。

4

0 回答 0