小编Vie*_*iet的帖子

在C/C++中寻找GD教程

我看到很多关于PHP的GD教程,尽管GD是用C语言编写的,而不是PHP语言.你可以在C中为GD推荐任何好的教程吗?

c graphics gd image

8
推荐指数
2
解决办法
6675
查看次数

用于测试C和C++分配器的基准测试?

请建议用于测试C和C++分配器的基准测试?满足以下任何方面的基准被认为:

  1. 速度
  2. 碎片
  3. 并发

谢谢!

c c++ memory benchmarking memory-management

8
推荐指数
3
解决办法
3114
查看次数

如何用64位输出创建一个好的hash_combine(灵感来自boost :: hash_combine)

目前Boost具有hash_combine函数,该函数输出32位无符号整数(确切地说,size_t).一些参考:

http://www.boost.org/doc/libs/1_43_0/doc/html/hash/reference.html#boost.hash_combine

http://www.boost.org/doc/libs/1_43_0/doc/html/hash/combine.html

boost :: hash_combine中的幻数

我想探讨如何创建64位版本的hash_combine.

第一件事是获得64位的黄金比例或任何其他无理数.

第二部分是使用轮班.这部分相当棘手,我想询问是否有最佳实践或指导使用转移来获取哈希值?或者像原始代码一样选择班次:

seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2); 
Run Code Online (Sandbox Code Playgroud)

是随机的?

另外如何评估输出hash_combine以确保它不会产生比原始哈希函数更多的冲突hash_value

c++ hash boost

8
推荐指数
1
解决办法
4496
查看次数

Tiny C++跨平台GUI工具包

哪个C++跨平台GUI工具包在静态和动态构建中占用的空间最小?我不需要非常复杂的GUI,只需要基本的控件和小部件.先感谢您.

c++ user-interface cross-platform

7
推荐指数
1
解决办法
2万
查看次数

ANTLR 3.2中的C++代码生成准备好了吗?

我正在努力使ANTLR 3.2在C++中生成解析器/词法分析器.它毫无结果.尽管Java和C的事情进展顺利.

我正在使用本教程开始:http://www.ibm.com/developerworks/aix/library/au-c_plusplus_antlr/index.html

当我检查*.stg文件时,我发现:

CPP只有

./tool/src/main/resources/org/antlr/codegen/templates/CPP/CPP.stg
Run Code Online (Sandbox Code Playgroud)

C有这么多文件:

./tool/src/main/resources/org/antlr/codegen/templates/C/AST.stg
./tool/src/main/resources/org/antlr/codegen/templates/C/ASTDbg.stg
./tool/src/main/resources/org/antlr/codegen/templates/C/ASTParser.stg
./tool/src/main/resources/org/antlr/codegen/templates/C/ASTTreeParser.stg
./tool/src/main/resources/org/antlr/codegen/templates/C/C.stg
./tool/src/main/resources/org/antlr/codegen/templates/C/Dbg.stg
Run Code Online (Sandbox Code Playgroud)

等等语言.

我的Cg文件:

grammar C;

options { language='CPP'; }

/** Match things like "call foo;" */
r : 'call' ID ';' {System.out.println("invoke "+$ID.text);} ;
ID: ('a'..'z'|'A'..'Z'|'_')('0'..'9'|'a'..'z'|'A'..'Z'|'_')* ;
WS: (' ' |'\n' |'\r' )+ {$channel=HIDDEN;} ; // ignore whitespace
Run Code Online (Sandbox Code Playgroud)

错误:

error(10):  internal error: group Cpp does not satisfy interface ANTLRCore: missing templates [lexerRuleRefAndListLabel, parameterSetAttributeRef, scopeSetAttributeRef, returnSetAttributeRef, lexerRulePropertyRef_text, lexerRulePropertyRef_type, lexerRulePropertyRef_line, lexerRulePropertyRef_pos, lexerRulePropertyRef_index, lexerRulePropertyRef_channel, lexerRulePropertyRef_start, lexerRulePropertyRef_stop, ruleSetPropertyRef_tree, ruleSetPropertyRef_st] …
Run Code Online (Sandbox Code Playgroud)

c++ parsing code-generation lexer antlr3

7
推荐指数
1
解决办法
5566
查看次数

如何在C中编写线程安全,高效,无锁的内存分配器?

如何在C中编写线程安全,高效,无锁的内存分配器?我的意思是:

  1. 快速分配和解除分配

  2. 最佳内存使用(最小浪费和无外部碎片)

  3. 最小的元数据开销

c memory performance multithreading allocation

7
推荐指数
1
解决办法
7547
查看次数

使用Django用户管理员使电子邮件字段独一无二

有一个几乎相似的问题:如何在Django的contrib.auth中使模型User中的电子邮件字段唯一

解决方案并不完美:验证电子邮件的唯一性.提供的解决方案相当有趣.它不允许修改用户,保持电子邮件不变.怎么解决?提前致谢!

django django-forms django-admin

7
推荐指数
2
解决办法
4138
查看次数

如何在不使用Python触及附件的情况下有效地解析电子邮件

我正在使用Python imaplib(Python 2.6)来从GMail获取电子邮件.我用方法http://docs.python.org/library/imaplib.html#imaplib.IMAP4.fetch获取电子邮件的所有内容我收到完整的电子邮件.我只需要文本部分,也可以解析附件的名称,而无需下载它们.怎么做到这一点?我看到GMail返回的电子邮件遵循浏览器发送到HTTP服务器的相同格式.

python gmail parsing imap imaplib

7
推荐指数
2
解决办法
8885
查看次数

Boost Variant:如何建模JSON?

我正在尝试使用Boost Spirit商店JSON对象将JSON字符串解析为递归数据结构:

Value <== [null, bool, long, double, std::string, Array, Object];
Array <== [Value, Value, Value, ...];
Object <== ["name1": Value, "name2": Value, ...];
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

#include <map>
#include <vector>
#include <string>
#include <boost/variant.hpp>
#include <boost/shared_array.hpp>
#include <boost/shared_ptr.hpp>

struct JsonNull {};
struct JsonValue;

typedef std::map<std::string, JsonValue *> JsonObject;
typedef std::vector<JsonValue *> JsonArray;

struct JsonValue : boost::variant<JsonNull, bool, long, double, std::string, JsonArray, JsonObject>
{
};

JsonValue aval = JsonObject();
Run Code Online (Sandbox Code Playgroud)

编译时我得到错误:

Error C2440: 'initializing' : cannot convert from 'std::map<_Kty,_Ty>' to 'JsonValue'
Run Code Online (Sandbox Code Playgroud)

而且,如何安全地将JsonValue转换为JsonObject?当我尝试做:

boost::get<JsonObject>(aval) …
Run Code Online (Sandbox Code Playgroud)

c++ json boost boost-spirit boost-variant

7
推荐指数
1
解决办法
2243
查看次数

Basic Django - 视图包装器如何接收请求,关键字和位置参数?

Django书的第8章中,有一个示例显示了一个基本的视图包装方法,该方法接收从任意单个任意URLconf传入的另一个视图方法:

def requires_login(view):
    def new_view(request, *args, **kwargs):
        if not request.user.is_authenticated():
            return HttpResponseRedirect('/accounts/login/')
        return view(request, *args, **kwargs)
    return new_view
Run Code Online (Sandbox Code Playgroud)

我遵循这里的大部分逻辑,但我不理解的是嵌套new_view定义如何接收请求,*args和**kwargs因为它没有被明确地传递给requires_login定义.

new_view接受这些论点的定义究竟如何?

django django-templates django-models django-admin django-views

6
推荐指数
1
解决办法
1108
查看次数