小编Mik*_*and的帖子

ctypes通过读取文件初始化c_int数组

使用Python数组,我可以使用以下(当然不是完美的Pythonic)命令初始化32,487,834整数数组(在文件HR.DAT中找到):

F = open('HR.DAT','rb')
HR = array('I',F.read())
F.close()
Run Code Online (Sandbox Code Playgroud)

我需要在ctypes中做同样的事情.到目前为止,我所拥有的最好的是:

HR = c_int * 32487834
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用HR.DAT初始化数组的每个元素.有什么想法吗?

谢谢,

麦克风

python arrays ctypes initialization

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

pyparsing不是嵌套列表......为什么?

出于某种原因,pyparsing不会为我的字符串嵌套列表:

rank = oneOf("2 3 4 5 6 7 8 9 T J Q K A")
suit = oneOf("h c d s")
card = rank + Optional(suit)

suit_filter = oneOf("z o")
hand = card + card + Optional(suit_filter)

greater = Literal("+")
through = Literal("-")
series = hand + Optional(greater | through + hand)

series_split = Literal(",")
hand_range = series + ZeroOrMore(series_split + series)

hand_range.parseString('22+,AKo-ATo,KQz')

>> ['2', '2', '+', ',', 'A', 'K', 'o', '-', 'A', 'T', 'o', ',', 'K', 'Q', 'z'] …
Run Code Online (Sandbox Code Playgroud)

python pyparsing

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

使用NPPExec脚本在Notepad ++中使用csc.exe编译C#

我在编写NPPExec脚本(用于Notepad ++)时无法使用Microsoft的csc.exe编译C#源代码.我没有问题让MinGW启动并运行我的c ++东西,但是相同的脚本结构似乎对C#不起作用.有没有人有一个有效的C#NPPExec脚本?

三个快速笔记:

  1. 虽然我的mingw安装到没有空格的路径(\ MinGW\bin),但我的C#编译器似乎埋没在\ Program Files \中,这是一个包含多个空格的路径.这有关系吗?

  2. 我能够使用Microsoft SDK安装的命令提示符(我认为设置一些环境变量)编译,所以我知道编译器工作.

  3. 在NPPExec选项框中,我选择了FOLLOW $(CURRENT_DIRECTORY).这有关系吗?

谢谢.

c# notepad++ nppexec

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

DLL导出静态函数

我有以下静态功能:

static inline HandVal
              StdDeck_StdRules_EVAL_N( StdDeck_CardMask cards, int n_cards )
Run Code Online (Sandbox Code Playgroud)

我可以在DLL中导出此功能吗?如果是这样,怎么样?

谢谢,

麦克风

背景资料:

我这样做是因为原始源代码带有一个VS项目,旨在编译为静态(.lib)库.为了使用ctypes/Python,我将项目转换为DLL.

我作为DLL启动了VS项目并导入了原始源代码.该项目构建为DLL,但没有导出任何函数(包括上面列出的函数)(由源代码中缺少dllexport和DLL Export Viewer等工具确认).我试图遵循这里的一般建议(在标题中创建一个可导出的包装函数)无济于事......函数似乎仍然没有被导出.

dll static dllexport

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

C++/Windows API - 无法找到CreateWindow

这是我在Visual C++ 2010 Express中的程序的开始:

#pragma comment(lib, "detoured.lib")
#pragma comment(lib, "detours.lib")

#include <Windows.h>
#include <detours.h>

HWND (WINAPI *pCreateWindow)(LPCWSTR lpClassName,
                             LPCWSTR lpWindowName, DWORD dwStyle,
                             int x, int y, int nWidth, int nHeight,
                             HWND hWndParent, HMENU hMenu, HINSTANCE hInstance,
                             LPVOID lpParam) = CreateWindow;
Run Code Online (Sandbox Code Playgroud)

Visual C++的IntelliSense告诉我它无法找到CreateWindowW(即使我看到它在Winuser.h中查看#define而我可以在F12中找到函数定义).它也没有编译.

dllmain.cpp(11): error C2065: 'CreateWindowW' : undeclared identifier
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?

谢谢,

麦克风

c c++ winapi detours

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

Node.js - 将响应statusCode记录到控制台(一个Django开发服务器)

我正在尝试构建一个Node.js服务器,其控制台日志记录类似于Django的开发服务器.例如

[27/Jun/2011 15:26:50] "GET /?test=5 HTTP/1.1" 200 545
Run Code Online (Sandbox Code Playgroud)

以下server.js(基于Node Beginner Book教程)为我提供了时间和请求信息:

var http = require("http");
var url = require ("url");
var port = 1234;

function start(route, handle) {
    function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;
        var query = url.parse(request.url).query;
        route(handle, pathname, query, response);
        logRequest(request);
    }
    http.createServer(onRequest).listen(port);
    console.log("\nServer running at http://192.168.1.5:" + port + "/");
    console.log("Press CONTROL-C to quit.\n");
}

function logRequest(request) {
    var pathname = url.parse(request.url).pathname;
    var query = url.parse(request.url).query;
    if (query == undefined) {
        query = …
Run Code Online (Sandbox Code Playgroud)

javascript node.js

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

在2d数组的列中排名

>>> a = array([[10, 50, 20, 30, 40],
...            [50, 30, 40, 20, 10],
...            [30, 20, 20, 10, 50]])

>>> some_np_expression(a)
array([[1, 3, 1, 3, 2],
       [3, 2, 3, 2, 1],
       [2, 1, 2, 1, 3]])
Run Code Online (Sandbox Code Playgroud)

什么是some_np_expression?只要排名是独特的和顺序的,就不关心如何解决关系.

python sorting numpy scipy

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

numpy-一维输入数组的多个numpy.roll

我想返回numpy.array带有给定1D的多个卷的2D numpy.array

>>> multiroll(np.arange(10), [-1, 0, 1, 2])
array([[1., 0., 9., 8.],
       [2., 1., 0., 9.],
       [3., 2., 1., 0.],
       [4., 3., 2., 1.],
       [5., 4., 3., 2.],
       [6., 5., 4., 3.],
       [7., 6., 5., 4.],
       [8., 7., 6., 5.],
       [9., 8., 7., 6.],
       [0., 9., 8., 7.]])
Run Code Online (Sandbox Code Playgroud)

有一些组合numpy.rollnumpy.tilenumpy.repeat,或其他执行此功能呢?

这是我尝试过的

def multiroll(array, rolls):
    """Create multiple rolls of 1D vector"""
    m = len(array)
    n = len(rolls)
    shape = (m, n)
    a = …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

Python - 计算 2 的整数幂的数字 log2(int) 的最快方法

我正在使用位集,并希望快速迭代设置的位,而不需要提前知道最大设置位。使用这个技巧,我们似乎可以做到这一点,而无需扫描中间的 0。但链接技巧将设置位生成为位集,而不是整数(例如,第 0 个设置位生成为0b1,而不是0)。

log2(x)当我知道将是 2 的精确幂时,是否有一个快速的位技巧可以计算x(例如,如上面的情况)?

我尝试过什么

最简单的版本,使用标准库并bits(n)作为链接代码:

def bits(n):
    while n:
        b = n & (~n+1)
        yield b
        n ^= b

from math import log2
   
for b in bits(109):
    print(int(log2(b)))

0
2
3
5
6
Run Code Online (Sandbox Code Playgroud)

python bit-manipulation

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

lxml/MathML XML Schema - 如何修复"内容模型不是决定论者".错误?

我正在遵循lxml验证文档来构建一个类,该类根据Math ML 3.0模式验证给定的XML字符串.这是班级:

class XMLSchema(object):

    def __init__(self, path_to_xsd_file):
        with open(path_to_xsd_file) as f:
            xmlschema_doc = etree.parse(f)
        self.xmlschema = etree.XMLSchema(xmlschema_doc)

    def validate(self, well_formed_xml_string):
        """Validates a well-formed XML string against an XML schema.

        Returns True if xml_string is valid, False if not.

        """
        xml = etree.parse(StringIO(well_formed_xml_string))
        return self.xmlschema.validate(xml)
Run Code Online (Sandbox Code Playgroud)

实例化它会产生以下结果:

>>> x = XMLSchema('mathml3.xsd')
Traceback (most recent call last):
...
lxml.etree.XMLSchemaParseError: complex type 
'annotation-xml.model': The content model is not determinist., line 42
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

python xsd lxml mathml

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