gpt4 book ai didi

c - 向标准 C 语法添加关键字

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:26 25 4
gpt4 key购买 nike

我正在考虑一个源到源编译器想要向标准 C 语法添加一个关键字(比如 shared)。当一个指针被标记为共享时,它是一个特殊的不能被直接解引用的指针。相反,应该进行函数调用以安全地复制出值。

如果所有变量都是基本类型,一个简单的 C++ 程序就可以为我完成翻译。然而,我们有 struct 和 union,然后我们有可能包含共享指针的 struct,包含指向共享指针的简单指针的 struct,等等。这听起来是一个严肃的类型检查,比如处理 volatile 关键字,可能会重用或修改现有的编译器将是更好的选择。但是不知道哪个编译器更容易上手修改。你有什么建议吗?顺便说一句,我想看翻译后的 C 代码,而不是中间代码。它会改变我们的选择吗?谢谢。

最佳答案

你知道不透明类型吗?在 .h 文件中声明一个类型:

typedef struct OpaqueType_s OpaqueType;

并在.c文件中定义:

struct OpaqueType_s {
int value;
};

然后您可以在 .c 文件中取消引用指向它的指针,其中您定义它,但只将它们传递给其他文件中的其他函数(有点像 void)。

关于c - 向标准 C 语法添加关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11306324/

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