基本上我需要一个真正的 C++ 编译时字符串散列。我不关心技术细节,可以是模板,宏,任何东西。到目前为止,我看到的所有其他散列技术只能在编译时生成散列表(如 256 个 CRC32 散列),而不是真正的散列。
换句话说,我需要这个
printf("%d", SOMEHASH("string"));
编译为(在伪汇编器中)
push HASHVALUE
push "%d"
call printf
即使在调试版本中,也没有对字符串进行运行时操作。我正在使用 GCC 4.2 和 Visual Studio 2008,我需要这些编译器的解决方案(所以没有 C++0x)。