小编Dan*_*use的帖子

为什么我需要reinterpret_cast将Fred**const转换为void**const?

我有一个const指针指向一个指针Fred,我不明白为什么一个static_cast是不够的.

typedef struct {
    int n;
} Fred;

Fred *pFred;
Fred **const ppFred = &pFred;
void **const ppVoid = static_cast<void ** const>(ppFred);
Run Code Online (Sandbox Code Playgroud)

请有人能解释为什么reinterpret_cast需要一个指针转换Fred*为指针void*,但是static_cast是精指针转换Fred为指针void.

c++ void-pointers static-cast reinterpret-cast

12
推荐指数
1
解决办法
572
查看次数

在Windows上编译rpy2需要什么设置?

我已经能够从源代码rpy2forge 安装v2.0.8 .msi,但是我想使用包含软件包代码的最新版本,即v2.1.9.

我正在尝试在windows(python 2.6.6)中编译rpy2 .

CL抱怨因为LibExtern被定义为externdeclspec不同的地方.

gcc并且c++无法编译而没有错误.

我假设这在unix上编译好,而我所缺少的是一些配置(概率环境变量),因为我无法相信它会以不可编译的形式发布.

有人指出我正确的方向吗?

很多thx

DM

python r rpy2

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

当 Py_initialize 失败时如何捕获并处理致命错误?

我将 python 嵌入到 C++ dll 中(因此最终我可以将其放入 xll 中)。当设置错误时 Py_Initialize 被记录为最终失败 - 请参阅http://docs.python.org/c-api/init.html,“...如果初始化失败,则这是一个致命错误。”。

是否可以捕获此错误以及如何捕获?

考虑也许是一个全局 Windows 钩子?

c c++ python

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

是否可以使用__rmod__覆盖str的%行为?

我想这样做:

x %doSomething% y
Run Code Online (Sandbox Code Playgroud)

对于任何x和任何y都很容易做到(见下面的代码),除非x是str.

是否有任何方法(例如,添加特殊方法或引发特定错误)导致旧样式字符串格式化失败(类似于1%doSomthing如何通过TypeError失败)并恢复为doSomething对象中定义的__rmod__方法?

class BinaryMessage(object):
  def __init__(self, fn):
    self._fn = fn
  def __rmod__(self, LHS):
    return BinaryMessagePartial(self._fn, LHS)

class BinaryMessagePartial(object):
  def __init__(self, fn, LHS):
    self._fn = fn
    self._LHS = LHS
  def __mod__(self, RHS):
    return self._fn(self._LHS, RHS)

def _doSomething(a , b):
  return a + b

doSomething = BinaryMessage(_doSomething)

result = 5 %doSomething% 6
assert result == 11
Run Code Online (Sandbox Code Playgroud)

python string operator-overloading

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

中断选择添加另一个要在Python中观看的套接字

我正在使用Windows XP应用程序中的TCP实现点对点IPC.

我正在使用Python 2.6.6中的selectsocket模块.

我有三个TCP线程,一个通常阻塞的读取线程select(),一个通常在事件上等待的写入线程(事件表明有要写入TCP的东西)和一个接受连接的侦听线程.

如果我启动一个新连接或关闭当前连接,那么我需要中断读取选择并重新启动它,以便它也会监听新接受的套接字.

winsock我可以调用WSACancelBlockingCall哪个将优雅地中断选择.

所以我的问题是:是否有可能以pythonic方式完成所有这些而无需使用poll()

很多thx

--DM

python tcp winsock

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

[AWorrkbookName]是VBA的新旧语法吗?

我正在维护一段代码,并在VBA函数中遇到了这个问题:

isIn("Fred", [PeopleList])
Run Code Online (Sandbox Code Playgroud)

PeopleList是名为range的工作簿.我之前从未注意过这种语法,只是想知道它是我错过的还是新的?我应该将范围传入函数还是可以使用?

excel vba excel-vba

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