作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想编译 beecrypt VS2008下的库。但是以下几个结构会产生语法错误(C2059 语法错误:'.'):
const hashFunction md5 = {
.name = "MD5",
.paramsize = sizeof(md5Param),
.blocksize = 64,
.digestsize = 16,
.reset = (hashFunctionReset) md5Reset,
.update = (hashFunctionUpdate) md5Update,
.digest = (hashFunctionDigest) md5Digest
};
VC++ 不接受开头的点。如果我评论上面的内容,我稍后会收到链接错误(LNK2001 未解析的符号 _md5)- 所以我想它必须取消评论。
这是什么结构?我需要它做什么?我如何告诉 VS2008 编译它?
最佳答案
这种类型的struct
初始化是C99 (ISO/IEC 9899:1999) 的一个特性。在最新标准之前,它不是有效的 C++ 或 C。
Visual Studio 2008 仅支持 C90(又名 C89),因此无法编译。
编辑 看起来 BeeCrypt 最近更改为需要 C99 编译器,这有效地排除了 Visual Studio。您的另一个选择是使用旧版本的 BeeCrypt。
关于c++ - 变量中的点? VC9 在构建 beecrypt 时给出解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1201557/
我想编译 beecrypt VS2008下的库。但是以下几个结构会产生语法错误(C2059 语法错误:'.'): const hashFunction md5 = { .name = "MD5", .
我是一名优秀的程序员,十分优秀!