基本上,我需要在C++中进行真正的编译时字符串哈希。我不关心技术细节,可以是模板、宏或其他任何东西。到目前为止,我看到的所有其他哈希技术都只能在编译时生成哈希表(例如256个CRC32哈希),而不能生成真正的哈希。
换句话说,我需要这个功能:
printf("%d", SOMEHASH("string"));
编译为(伪汇编语言)
push HASHVALUE
push "%d"
call printf
即使在Debug版本中,字符串也没有运行时操作。我使用的是GCC 4.2和Visual Studio 2008,我需要解决方案适用于这些编译器(因此不能使用C++0x)。请保留HTML标记。