我正在尝试创建与boost.asio 示例中的此代码类似的内容。
套接字.h:
class some_class {
private:
...
boost::asio::io_service io_service;
public:
some_class() {
/* This stuff isn't used in the example...
...but it doesn't change anything... */
io_service.run();
}
};
Run Code Online (Sandbox Code Playgroud)
套接字.cpp:
using boost::asio::ip::tcp;
bool some_class::connect(char* host, char* port)
{
printf("Resolving hostname...\n");
/* Resolve hostname. */
tcp::resolver resolver(io_service);
tcp::resolver::query query(tcp::v4(), host, port);
tcp::resolver::iterator iterator = resolver.resolve(query);
printf("Connecting to %s:%s... ", host, port);
/* Connect to resolved hosts. */
sock->connect(*iterator);
return true;
}
Run Code Online (Sandbox Code Playgroud)
g++ 构建它没有任何错误,但代码从未使它通过 resolver.resolve() 调用。
我已经为主机尝试了“127.0.0.1”和“localhost”,为端口尝试了“80”。(不要认为它应该重要,但是 apache2 已启动并正在运行) …
根据关于方面的Apache Solr文档,我可以使用键,因为:'当使用不同的排除项多次在同一个字段上进行分面时,这可能会有所帮助.
我需要它们,因为我希望有一个方面给我"最后一天","上周","上个月"选项.
但是,当我使用以下选项设置查询时:
http://URL/select?
...unrelated...
facet=true&
facet.date={!key=some_key}created&
f.some_key.facet.date.start=NOW/DAY-1DAY&
f.some_key.facet.date.end=NOW/DAY&
f.some_key.facet.date.gap=NOW/DAY+1DAY
...unrelated...
Run Code Online (Sandbox Code Playgroud)
Solr抱怨:
[exception] => org.apache.solr.common.SolrException:缺少必需参数:f.created.facet.date.start(或默认值:facet.date.start)
当我设置facet.date.start或f.created.facet.date.start时,它们将覆盖我的some_key(开始/结束/间隙)的字段,这是无用的,因为我需要多个键...任何人都可以点我在这方向的正确方向?由于我使用的库的限制,这需要在单个查询中完成.
我根据Mage_Catalog_Block_Product_List创建了自己的产品列表页面:
应用程序/代码/本地/法师/目录/座/产品/ Special.php:
class Mage_Catalog_Block_Product_Special extends Mage_Catalog_Block_Product_List
{
/* Original contents */
/* Here I call addAttributeToFilter on product collection, and then... */
return $this->_productCollection;
}
Run Code Online (Sandbox Code Playgroud)
我将其包含在中心列的CMS页面中:
<reference name="content">
<block type="catalog/product_special" template="catalog/product/list.phtml" />
</reference>
Run Code Online (Sandbox Code Playgroud)
问题是:产品列表显示正常,但我的左栏没有分层导航.
这很奇怪,因为我使用与普通列表完全相同的模板.
我检查了几件事:
我有一种感觉,这与尝试在CMS页面上包含产品列表有关,但我无法找到确切的问题.
任何有关这方面的帮助将非常感谢.
u32 iterations = 5;
u32* ecx = (u32*)malloc(sizeof(u32) * iterations);
memset(ecx, 0xBAADF00D, sizeof(u32) * iterations);
printf("%.8X\n", ecx[0]);
ecx[0] = 0xBAADF00D;
printf("%.8X\n", ecx[0]);
free(ecx);
Run Code Online (Sandbox Code Playgroud)
非常简单地说,为什么我的输出如下?
0D0D0D0D
BAADF00D
Run Code Online (Sandbox Code Playgroud)
ps:u32是unsigned int的简单typedef
编辑:
我正在尝试从以下位置重写网址:
http://domain.com/aa/whatever/whatever.php
到
http://domain.com/whatever/whatever.php?language=aa
但是,根据现有的$ _GET变量,它必须是?language或&language.
为此,我使用带有[L]标志的2个正则表达式:
RewriteRule ^([a-z]{2})/(.*\.php\?.*) /$2&language=$1 [L]
RewriteRule ^([a-z]{2})/(.*) /$2?language=$1 [L]
Run Code Online (Sandbox Code Playgroud)
第二个按预期工作......然而,第一个没有被击中(它落到第二个正则表达式,确实命中),即使Regex Coach确实告诉我它应该.
编辑:
如果只是读到我需要使用两个反斜杠来逃避问号.如果我这样做,它确实击中了第一个正则表达式但从未找到其他GET变量.
我只想做以下事情:
template <typename T>
class gvar {
private:
T var;
public:
gvar(T var) : var(var) {}
};
std::stack<gvar> some_stack;
Run Code Online (Sandbox Code Playgroud)
g ++吐出了关于gvar不是一个类型的各种错误.这可以通过一些相对简单的方式实现吗?我不想使用boost :: any/boost :: variant.
编辑:
澄清我想要的东西:
一个std :: stack,可以保存不同类型的变量(只是原语很好).
我在原型类中包装了(客户端)socket.io:
Chat.Client = Class.create();
Chat.Client.prototype = {
initialize: function() {
...
this.socket.on('message', this.on_message);
...
},
on_message: function(data) {
this.add_chat_message(data.something);
}
do_something: function(something) {
...
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为on_message中的'this'将是'SocketNamespace'.传统上我会通过将'this'作为附加参数传递给回调来解决这个问题,但因为我使用的是socket.io,所以我不能简单地这样做.
我怎么解决这个问题?
我目前正在研究Mangler的 Android实现.
我有一个看起来像这样的java类:
public class VentriloEventData {
public short type;
public class _pcm {
public int length;
public short send_type;
public int rate;
public byte channels;
};
_pcm pcm;
}
Run Code Online (Sandbox Code Playgroud)
我的pcm对象的签名:
$ javap -s -p VentriloEventData
...
org.mangler.VentriloEventData$_pcm pcm;
Signature: Lorg/mangler/VentriloEventData$_pcm;
Run Code Online (Sandbox Code Playgroud)
我正在实现一个名为getevent的本机JNI函数,它将写入VentriloEventData类实例中的字段.对于它的价值,它是用Java定义和调用的,如下所示:
public static native int getevent(VentriloEventData data);
VentriloEventData data = new VentriloEventData();
getevent(data);
Run Code Online (Sandbox Code Playgroud)
我的JNI实现了getevent:
JNIEXPORT jint JNICALL Java_org_mangler_VentriloInterface_getevent(JNIEnv* env, jobject obj, jobject eventdata) {
v3_event *ev = v3_get_event(V3_BLOCK);
if(ev != NULL) {
jclass event_class = (*env)->GetObjectClass(env, eventdata);
// …Run Code Online (Sandbox Code Playgroud) 我正在尝试从特定偏移量的文件中读取(简化版本):
typedef unsigned char u8;
FILE *data_fp = fopen("C:\\some_file.dat", "r");
fseek(data_fp, 0x004d0a68, SEEK_SET); // move filepointer to offset
u8 *data = new u8[0x3F0];
fread(data, 0x3F0, 1, data_fp);
delete[] data;
fclose(data_fp);
Run Code Online (Sandbox Code Playgroud)
问题是,数据不会包含 1008 个字节,而是 529 个字节(看起来是随机的)。当达到 529 字节时,对 feof(data_fp) 的调用将开始返回 true。
我也尝试过读取较小的块(一次 8 个字节),但它看起来就像是在尚未到达 EOF 时那样。
在十六进制编辑器中简单查看一下就会发现还剩下很多字节。
我最近在Windows平台上碰到了一个名为IOCP的东西,更精确:输入/输出控制端口.当需要同时容纳数千个用户时,这似乎是对服务器软件进行编码的最有效方式.(如果我错了,请纠正我,但每个套接字,轮询和异步回调(每个回调上的线程)都不够高效.)
我想知道是否有任何第三方库可以实现这个概念.我知道win32 api为我们提供了CreateIoCompletionPort,FreeBSD有kqueue和linux一般可以使用/ dev/epoll,它的工作方式有点类似......但是不存在处理这些东西的跨平台库(如boost :: thread)为了我?
std::vector< std::vector<coords> >::iterator iter;
for(iter = characters.begin(); iter != characters.end(); iter++)
{
std::vector<coords>* cha = iter; // doesn't work.
}
// does work.
std::vector<coords>* character = &characters.at(0);
coords* first = &character->at(0);
Run Code Online (Sandbox Code Playgroud)
我不明白为什么.它不应该是一个指向它的容器应该"包含"的类型元素的指针吗?
有谁愿意阐明这一点?
通过不起作用我的意思是:
error C2440: 'initializing' : cannot convert from 'std::_Vector_iterator<_Ty,_Alloc>' to 'std::vector<_Ty> *'
Run Code Online (Sandbox Code Playgroud)
这对我来说没有多大意义.
今天我收到了邮件中的"Head First Design Patterns"一书.到目前为止相当有趣的东西,但我确实有一个关于它的内容的问题.
我没有Java/C#背景,我现在也不想跳到这些语言(我首先想要专注于C++).在本书中说java没有接口的实现......这意味着对于该接口的每次更改,您都必须修改实现该接口的所有子类.
这是如何在C++中完成的?我错过了什么?
只是一个快速而简单的问题,但在任何文档中都找不到它.
template <class T>
T* Some_Class<T>::Some_Static_Variable = NULL;
Run Code Online (Sandbox Code Playgroud)
它用g ++编译,但我不确定这是否有效.是吗?
c++ ×7
java ×2
templates ×2
.htaccess ×1
android ×1
boost ×1
boost-asio ×1
c ×1
class ×1
elements ×1
feof ×1
fopen ×1
g++ ×1
generics ×1
interface ×1
iocp ×1
iterator ×1
javascript ×1
magento ×1
memset ×1
mod-rewrite ×1
php ×1
prototype ×1
regex ×1
resolver ×1
socket.io ×1
solr ×1
stack ×1
static ×1
variables ×1
vector ×1