class TC_JOIN (NAME) {}



我在这里找到了以下代码:

class Cipher {
...
};
#define TC_TRIAL(NAME, BLOCK_SIZE, KEY_SIZE) 
class TC_JOIN (Cipher,NAME) : public Cipher  { 
...
}
TC_CIPHER (AES, 16, 32);

我知道这是一个宏,(NAME, BLOCK_SIZE, KEY_SIZE)是额外的参数,但在预处理器替换替换列表中任何相应的参数后,我们应该得到这样的结果,我收集到:

class TC_JOIN (Cipher,AES) : public Cipher  {
...
}

TC_JOIN (Cipher,AES)有点让我困惑(尤其是添加了括号部分(。请你解释一下这个句法结构到底是什么意思好吗?

TC_JOIN在VeraCrypt/src/Platform/PlatformBase.h:中定义

#define TC_JOIN_ARGS(a,b) a##b
#define TC_JOIN(a,b) TC_JOIN_ARGS(a,b)

它将两个参数连接起来。

当您不确定符号的含义时,请搜索其定义。我看到Cipher.h(您引用的标题(包括Crypto/config.hPlatform/Platform.h。当我意识到Platform.h是一个只包含其他标头的标头时,我放弃了该路由,并使用github搜索来查找TC_JOIN的所有出现。其中一个是CCD_ 9。给你。

相关内容

最新更新