- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定这样一个带有 User-supplied struct 的 gperf 文件:
%define class-name Table
%define lookup-function-name m
%struct-type
%language=C++
%{
#include <cstring>
#include <cstdio>
// defination of LookupTableElement is put to a header file in the real project and included in
namespace bar {
struct LookupTableElement {
const char *name;
void (*func) ();
};
}
// a handler
void ack() {
puts("you said hello");
}
// namespace bar {
%}
struct bar::LookupTableElement;//gperf needs the declaration
%%
######
hello, ack
######
%%
// } // end namespace bar
int main() {
auto p = Table::m("hello", sizeof("hello") - 1);
if (!p) return 1;
p->func();
return 0;
}
编译:
$ gperf foo.gperf > foo.cc && g++ -std=c++0x foo.cc
使 g++(gcc 4.7.3 和 4.8.2 测试)发出警告:
foo.gperf:26:13: warning: declaration ‘struct bar::LookupTableElement’ does not declare anything [enabled by default]
struct bar::LookupTableElement;//declare look up table's element
^
如果 namespace bar
被移除,将不再有警告。
避免警告的最佳方法是什么?
//namespace bar {
和 //}//end namespace bar
并将 struct bar::LookupTableElement
更改为 结构 LookupTableElement
。但是通过这种方式,我们会将很多东西拖到命名空间中(看看生成的 foo.cc 你就知道了)。最佳答案
gperf 有一个选项:
-T, --omit-struct-type
Prevents the transfer of the type declaration to the output file. Use
this option if the type is already defined elsewhere.
所以,没有任何 namespace 技巧,
struct bar::LookupTableElement;
此选项生成完全可接受的代码(例如 gperf -T foo.gperf > foo.gperf.cpp
)。
关于c++ - 避免 gperf 输出文件中的 'warning: declaration UserSuppliedStruct does not declare anything',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22322100/
我正在尝试从源代码构建 gperf(Google 的分析器)。在构建过程中出现以下错误: src/stacktrace_config.h:58:5: error: #error Cannnot cal
我想要类似以下 gperf 输入文件的内容: %{ #include // the contents of which contain // #define KEYWORD1_MACRO "keyw
我有这样的十六进制数范围 0xabcd**** 0xabdc**89 0x****abcd 0xde****ab # 50 or so more entries like these # where
我现在正在考虑使用 gperf 生成的哈希函数来替换我们的旧哈希函数,但我不知道它是否安全,是否会增加我们的维护成本。 可靠性和系统复杂性是我们的首要考虑。 有人在大项目中用过gperf生成的hash
我将使用 key:value 存储并希望在 Perl 中创建不可碰撞的哈希。是否有 Perl 模块或函数可用于生成不可碰撞的哈希函数或表(可能类似于 gperf )?我已经知道我的输入值范围。 最佳答
假设我想构建一个完美的哈希表来查找预定义键为 12 个月的数组,因此我想要 hash("January")==0 hash("December")==11 我通过 gperf 运行我的月份名称并得到了
命令选项.gperf: %{ #include "command_options.h" typedef struct CommandOptionCode CommandOptionCode; %} s
C:\Users\Nick\Documents\prog\python\snudown>python setup.py install running install running bdist_eg
给定这样一个带有 User-supplied struct 的 gperf 文件: %define class-name Table %define lookup-function-name m %s
我正在尝试将 GPERF 添加到我的类路径中以构建一些 Titanium 1.8+ 模块。我已经从 http://gnuwin32.sourceforge.net 安装了 GPERF并将路径分配给我的
我是一名优秀的程序员,十分优秀!