将 C 中的静态结构导入 Objective-C 有什么影响?

What is the effect of having a static struct from C imported into Objective-C?

我正在调试旧版应用程序,遇到了以下情况

LegacySource.h
cFunctionModifyingSomeVariable()

LegacySource.c
static struct someVariable; //a custom struct


ObjectiveCImplementation.m
#import LegacySource.h
-(void)workWithLegacy {
   cFunctionModifyingSomeVariable(); // modifies variable declared in C class
}

将 C 中的静态结构导入 Objective-C 有什么影响?

我的所有 Objective-C 类 是否共享同一个静态结构实例,还是每个实例都有自己的实例?换句话说,如果我创建 3 个 ObjectiveCImplementation 实例,它们会修改同一个变量,还是它们的效果会相互独立?

Objective-C 代码根本不适用于 someVariable。它只是调用一个函数。静态结构不是 "imported" 到 Objective-C,不管那是什么意思。

无论如何,变量someVariable是单数的。只有一个这样的变量。无论从哪里调用 cFunctionModifyingSomeVariable(),它仍然只适用于那个变量。该 C 函数不知道 Objective-C class 的实例,或者更一般地说,不知道有关其调用者的任何信息,因此它的行为不会因此而有所不同。