小编l4m*_*mpi的帖子

如何在Neo4j中终止当前长时间运行的查询

如何在Neo4j中终止当前长时间运行的查询(不重启服务器)?

我知道我们可以全局设置查询超时,但有时我想在服务器上执行繁重的查询/创建/更新,这可能需要一段时间......

谢谢.

neo4j

34
推荐指数
2
解决办法
8228
查看次数

是否有描述__cmp__如何在Python 2中为dict对象工作?

我一直在尝试创建一个dict继承的子类,UserDict.DictMixin它支持不可散列的密钥.性能不是问题.不幸的是,Python DictMixin通过尝试从子类创建一个dict对象来实现一些功能.我自己可以实现这些,但我坚持下去__cmp__.

我找不到__cmp__dict类内置使用的逻辑的简洁描述.

python python-2.x

21
推荐指数
1
解决办法
5563
查看次数

Lambda在Java 9中导致编译错误"不兼容的类型",在Java 8中编译

以下代码使用Java 8编译,但不编译Java 9:

public class CompileErrJdk9 {

    @FunctionalInterface public interface Closure<R> {
        R apply();
    }

    @FunctionalInterface public interface VoidClosure {
        void apply();
    }

    static <R> R call(Closure<R> closure) {
        return closure.apply();
    }

    static void call(VoidClosure closure) {
        call(() -> { closure.apply(); return null; });
    }

    static <T> void myMethod(T data) {
        System.out.println(data);
    }

    public static void main(String[] args) {
        call(() -> myMethod("hello")); //compile error in jdk9
    }
}
Run Code Online (Sandbox Code Playgroud)

这是错误:

CompileErrJdk9.java:24: error: incompatible types: inference variable R has incompatible bounds
        call(() …
Run Code Online (Sandbox Code Playgroud)

java lambda java-9

19
推荐指数
1
解决办法
566
查看次数

在C++中处理C库匿名结构类型

我们有一个庞大的旧C++应用程序,其中包含许多遗留代码和一些用C编写的外部库.这些库很少更新 - 只有当我们发现错误并且供应商提供补丁时.这发生在上周有一个库,在集成新版本后,我们发现如果我们不在本地修改库(我们显然使用上一版本),我们的构建就会出现以下错误消息:

non-local function ‘static E* MyCls::myFct(<anonymous struct>*)’ uses anonymous type
Run Code Online (Sandbox Code Playgroud)

这是因为库声明了许多句柄类型,如下所示:

#define _Opaque struct {unsigned long x;} *

typedef _Opaque    Handle;
typedef _Opaque    Request;
Run Code Online (Sandbox Code Playgroud)

我们在一些类的函数签名中使用它们:

class MyCls {
public:
    static void* myFct(Handle handle);
    ...
}
Run Code Online (Sandbox Code Playgroud)

这会产生上述错误,因为编译器无法为函数创建正确的名称标记名称,因为_Opaque结构没有名称.

我们当前的解决方法是修补库头文件,显式给结构命名:

//#define _Opaque struct {unsigned long x;} * //Replaced by typedef below!
typedef struct __Opaque {unsigned long x;} * _Opaque;
Run Code Online (Sandbox Code Playgroud)

这显然很糟糕,因为如果可能的话我们不想触摸库.另一个更糟糕的选择是将类型转换为void*所有函数签名并将它们转换回各自的类型.并且在纯C中重写每个受影响的函数是最糟糕的选择...

所以,我的问题是:有没有比修补图书馆更好的选择?我有一个简单的解决方案吗?解决这个问题的最佳方法是什么?

c c++ gcc name-mangling anonymous-struct

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

如何使用 pypy 分析内存使用情况?

我尝试了以下分析器,所有这些都与 pypy (5.8.0) 不兼容:

  • pympler:导入失败,因为 pypy 不支持__itemsize__,并且根据一些谷歌结果,它无论如何都不会产生有用的结果
  • vmprof:输出“PyPy 目前不支持内存分析。在没有内存统计信息的情况下运行。”
  • objgraph:most_common_types()返回一个空列表。

有没有办法在pypy(相当于objgraph.most_common_types())中获取类型列表及其实例的内存使用情况?

python profiling pypy

5
推荐指数
0
解决办法
361
查看次数

以编程方式设置"以管理员身份运行"标志

是否可以以编程方式在exe文件或快捷方式文件上设置"以管理员身份运行"标志?

如果我在安装过程中执行此操作,Installshield是否支持此功能?

我正在尝试为此找到相关的命令行/ API/installshield命令.

api uac installshield

4
推荐指数
1
解决办法
2416
查看次数

闪光灯火炬功能无法通过nexus 5中的app-widget工作

Flash正在从应用程序开始正常运行(将surface_view添加到布局),当我尝试通过app-widget打开闪存时,它无法正常工作.我用过CameraSurfaceView这是我正在使用的代码

Camera mCamera;
SurfaceView preview;
mCamera = Camera.open();
mCamera.setPreviewDisplay(preview.getCameraHolder());
Parameters params = mCamera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(params);  
mCamera.startPreview();
Run Code Online (Sandbox Code Playgroud)

Manifest中添加的权限和功能包括:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
Run Code Online (Sandbox Code Playgroud)

flash android android-camera google-nexus

4
推荐指数
1
解决办法
1898
查看次数

如何在SML的if条件的其他部分"无所作为"

在SML中,我必须使用该else部分,因为这些是语言的规则.

else那时我怎么能做什么呢?

fun calc(input : string ) : int =

    let
      val outStr = ref "someString"
      val outInt = ref 0
    in
      outInt := (validateHelper(input) handle _ => ~1);
      if (outInt <> ~1) 
         then
            (  outStr := replaceRomanDec(input);       (* replace roman number with decimal *)
               outInt := (calcMyRomanExpression(!outStr) handle _ => ~1);
            )
         else (* nada *)

      !outInt
    end;
Run Code Online (Sandbox Code Playgroud)

sml smlnj

3
推荐指数
1
解决办法
3126
查看次数

ostrstream将常量字符串解释为指针

我在清理旧C/C++应用程序的调试宏时遇到了这个问题:我们有一个继承自的Tracer类ostrstream(我知道它自C++ 98以来已被弃用,但这个应用程序是在1998年编写的!)我们使用它像这样:

Tracer() << "some" << " message" << " here";
Run Code Online (Sandbox Code Playgroud)

现在,如果链中的第一个值是上面的常量字符串,则调用ostrstream::str()Tracer 的结果(在析构函数中完成,将结果插入到队列中)包含指向此字符串的指针的十六进制表示,而不是文本.因此,上述陈述会产生类似的结果"0x401a37 message here".旧宏不会发生这种情况,因为它们总是有一个长(线程ID)作为现在已被删除的第一个值.

使用gdb进入它会显示,对于第一次插入,这将调用operator<<(void const*)ostrstream,而后续插入调用operator<< <...>(basic_ostream<...>&, char const*)(为了可读性而移除了模板).

有人可以解释这种行为吗?什么是一个干净的方法来解决这个问题?我找到了一个简单的解决方法,它<< left用作第一个参数 - 这样安全吗?有没有更好的方法来做到这一点?

这是一个最小化的例子:

#include <strstream>
#include <iostream>

using namespace std;

class Trace : public ostrstream {
    public:
        Trace();
        virtual ~Trace();
};

Trace::Trace() : ostrstream() {}
Trace::~Trace() {
    static_cast< ostrstream& >(*this) <<ends;
    char * text = ostrstream::str();
    cout << "MESSAGE: "<< text <<endl;
    delete[] text;
}

int …
Run Code Online (Sandbox Code Playgroud)

c++ strstream

3
推荐指数
2
解决办法
387
查看次数

AutoIt脚本运行.exe文件

我想运行位于以下目录中的应用程序:

C:\ LCR 12\stu.exe

使用AutoIt,运行上述stu.exe文件的代码是什么?

exe autoit

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

SML - 使用原始列表的元素构建新列表 - 错误:运算符和操作数不一致[literal]

给定一个数字列表,我想创建一个新列表,其中index处的元素ii-1之前所有元素的总和.

例如 :

[1,4,6,9] ->  [1,5,11,20]
Run Code Online (Sandbox Code Playgroud)

我写了以下代码:

fun sum nil = 0 
| sum [x]=x 
| sum(x::rest)=(x+hd(rest))::sum(rest);
Run Code Online (Sandbox Code Playgroud)

但我得到了这个:

- fun sum nil = 0
= | sum [x]=x
= | sum(x::rest)=(x+hd(rest))::sum(rest);
stdIn:306.16-306.39 Error: operator and operand don't agree [literal]
  operator domain: int * int list
  operand:         int * int
  in expression:
    x + hd rest :: sum rest
Run Code Online (Sandbox Code Playgroud)

我可以看到递归规则(x+hd(rest))::sum(rest);是问题的原因,但我该如何解决呢?

问候

sml smlnj

0
推荐指数
1
解决办法
469
查看次数