小编BPL*_*BPL的帖子

如何在启用visual studio环境的情况下运行SublimeText

概述

现在我在我的Windows任务栏上有这两个程序:

这里的目标是运行Sublime Text并启用vs2015环境.

  1. 一个选项是打开vs命令提示符,然后从那里运行sublime文本,> sublime_text (这不是一个好的,我希望它是一个非交互式进程)
  2. 另一种选择是从任务栏以某种方式修改sublimetext符号链接目标,这样我就可以在启用vs2015环境的情况下打开sublime,只需单击图标

我怎么能完成选项2?

NS:我想让Sublime Text 3 在启动时只运行一次 vcvarsall.bat (不是在构建系统上的构建时)

ATTEMPTS

我的第一次尝试是试图理解bat文件是如何执行的,所以我测试了一些基本的批处理文件

python windows environment-variables sublimetext3 visual-studio-2015

9
推荐指数
1
解决办法
925
查看次数

如何在3dsMax中实现摄像头平移?

实现3ds max中使用的摄像机平移效果有哪些必要的数学运算?

在3ds max中,光标和网格之间的距离在整个移动过程中始终保持相同(mouse_down + mouse_motion + mouse_up).

我的天真和失败的尝试一直试图通过使用dt(帧时间)乘以一些硬编码常量在平面XY上移动相机,结果真的很丑陋和不直观.

我到目前为止的代码是:

def glut_mouse(self, button, state, x, y):
    self.last_mouse_pos = vec2(x, y)
    self.mouse_down_pos = vec2(x, y)

def glut_motion(self, x, y):
    pos = vec2(x, y)
    move = self.last_mouse_pos - pos
    self.last_mouse_pos = pos
    self.pan(move)

def pan(self, delta):
    forward = vec3.normalize(self.target - self.eye)
    right = vec3.normalize(vec3.cross(forward, self.up))
    up = vec3.normalize(vec3.cross(forward, right))

    if delta.x:
        right = right*delta.x
    if delta.y:
        up = up*delta.y

    self.eye+=(right+up)
    self.target+=(right+up)
Run Code Online (Sandbox Code Playgroud)

你能解释一下3dsmax中摄像机平移的数学运算方式吗?

编辑:

我的问题最初已由@ Rabbid76回答,但仍有一种情况是他的算法无法正常工作.它没有正确处理从空白空间开始平移的情况(否则,当深度缓冲区值取远值= 1.0时).在3dsmax摄像机中,无论​​深度缓冲区的哪个值,都可以在所有情况下正确处理平移.

python opengl 3dsmax panning glm-math

9
推荐指数
2
解决办法
389
查看次数

如何将文本拆分成最小化解决方案的块?

概述

我有一组可用的有效块,可以用来分割文本(如果可能的话).

如何使用这些块拆分给定文本,例如结果将根据生成的块数进行优化(最小化)?

测试套房

if __name__ == "__main__":
    import random
    import sys

    random.seed(1)

    # 1) Testing robustness
    examples = []
    sys.stdout.write("Testing correctness...")
    N = 50
    large_number = "3141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481"
    for i in range(100):
        for j in range(i):
            choices = random.sample(range(i), j)
            examples.append((choices, large_number))

    for (choices, large_number) in examples:
        get_it_done(choices, large_number)
    sys.stdout.write("OK")

    # 2) Testing correctness
    examples = [
        # Example1 ->
        # Solution ['012345678910203040506070', '80', '90', '100', '200', '300', '400', '500', '600', '700', '800', '900']
        (
            [
                "0", "1", "2", "3", …
Run Code Online (Sandbox Code Playgroud)

python string algorithm computer-science split

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

如何使logging.logger表现得像print

假设我有这个logging.logger实例:

import logging
logger = logging.getLogger('root')
FORMAT = "[%(filename)s:%(lineno)s - %(funcName)20s() ] %(message)s"
logging.basicConfig(format=FORMAT)
logger.setLevel(logging.DEBUG)
Run Code Online (Sandbox Code Playgroud)

当我尝试使用它时,就像带有动态数量参数的内置打印一样:

>>> logger.__class__
<class 'logging.Logger'>
>>> logger.debug("hello")
[<stdin>:1 -             <module>() ] hello
>>> logger.debug("hello","world")
Traceback (most recent call last):
  File "c:\Python2711\Lib\logging\__init__.py", line 853, in emit
    msg = self.format(record)
  File "c:\Python2711\Lib\logging\__init__.py", line 726, in format
    return fmt.format(record)
  File "c:\Python2711\Lib\logging\__init__.py", line 465, in format
    record.message = record.getMessage()
  File "c:\Python2711\Lib\logging\__init__.py", line 329, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string …
Run Code Online (Sandbox Code Playgroud)

python logging python-3.x

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

swig/python:object不支持索引

给定这组文件:

foo.h中:

#pragma once

#include <stdio.h>

template <class T0> class Foo {
  public:
    T0 m[3];

    Foo(const T0 &a, const T0 &b, const T0 &c) {
        m[0] = a;
        m[1] = b;
        m[2] = c;
    }
    void info() { printf("%d %d %d\n", m[0], m[1], m[2]); }
    // T0 &operator[](int id) { return ((T0 *)m)[id]; }
};
Run Code Online (Sandbox Code Playgroud)

Foo.cpp中:

#include "foo.h"
Run Code Online (Sandbox Code Playgroud)

foo.i(Attempt1):

%module foo

%{
#include "foo.h"
%}

%include "foo.h"

%template(intFoo) Foo<int>;

%extend Foo{
    T0& __getitem__(int id) { return ((T0 *)m)[id]; }
} …
Run Code Online (Sandbox Code Playgroud)

c++ python swig

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

pip install pcapy 无法打开包含文件“pcap.h”

我尝试pcapy使用安装pip install pcapy,但遇到错误,指出该文件pcap.h不存在,如下所示:

Installing collected packages: pcapy
  Running setup.py install for pcapy ... error
    Complete output from command c:\python27\python.exe -u -c "import setuptools
tokenize;__file__='c:\\users\\username\\appdata\\local\\temp\\pip-install-1tyk
yr\\pcapy\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" 
install --
record c:\users\username\appdata\local\temp\pip-record-u_q6qm\install-record.txt
 --single-version-externally-managed --compile:
    running install
    running build
    running build_ext
    building 'pcapy' extension
    creating build
    creating build\temp.win-amd64-2.7
    creating build\temp.win-amd64-2.7\Release
    creating build\temp.win-amd64-2.7\Release\win32
    C:\Users\UserName\AppData\Local\Programs\Common\Microsoft\Visual C++ for
Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -DWIN32=1 -I
c:\wpdpack\Include -Ic:\python27\include -Ic:\python27\PC /Tppcapdumper.cc /Fobuild\temp.win-amd64-2.7\Release\pcapdumper.obj
    pcapdumper.cc
    pcapdumper.cc(11) : …
Run Code Online (Sandbox Code Playgroud)

python winpcap python-2.x pcap

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

如何使用Visual Studio命令行+ SCons构建Windows XP应用程序?

使用Visual Studio 2015 IDE构建Windows xp应用程序并不难,您只需要使用正确的平台工具集(v120_xp或v140_xp),并确保在目标计算机上安装适当的可再发行的visual studio运行时dll, peasy.

现在,我一直在试图找出如何在不使用VS GUI但使用VS2015命令行+ SCons的情况下构建针对Windows XP的Windows xp应用程序

所有SCons标志都在这里发表文档,但我没有看到任何允许我更改平台工具集的内容.

如果你想知道平台工具集标志的真正含义是什么......经过一些研究我已经能够弄清楚那个标志真正做的是基本上生成适合目标机器加载器的不同PE头,你可以看到下面4个不同案例之间的比较(v120,v120_xp,v140,v140_xp):

在此输入图像描述

问题:如何在使用visual studio command line或使用时更改visual studio平台工具集visual studio command line + SCons

编辑:我发现这可以在使用VS2010的msbuild构建时从命令行设置平台工具集吗?但我不确定是否可以通过SCons使用:/

scons portable-executable visual-studio nuitka visual-studio-2015

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

如何将浮点算法转换为定点?

在阅读了很多有关定点算术的知识之后,我想我可以说我已经理解了基础知识,但是不幸的是,我还不知道如何转换使用sin / cos / sqrt或任何其他fp函数的例程。

考虑一下这个简单的mcve:

#include <math.h>
#include <stdio.h>
#include <ctime>
#include <fstream>
#include <iostream>

typedef char S8;
typedef short S16;
typedef int S32;
typedef unsigned char U8;
typedef unsigned short U16;
typedef unsigned int U32;
typedef float F32;
typedef double F64;

// -------- Fixed point helpers QM.N(32bits) --------
typedef S32 FP32;

#define LUT_SIZE_BITS 9  // 0xffffffff>>(32-9)=511; 32-23=9; 2^9=512
#define LUT_SIZE 512

#define FRACT_BITS 28        // Number fractional bits
#define M (1 << FRACT_BITS)  // Scaling factor

inline F32 …
Run Code Online (Sandbox Code Playgroud)

c++ floating-point optimization fixed-point

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

如何将 python 比较 ast 节点转换为 c?

让我们从考虑python3.8.5 的语法开始,在这种情况下,我有兴趣弄清楚如何将 python 比较转换为 c。

为了简单起见,我们假设我们正在处理一个非常小的 Python 平凡子集,我们只想转译平凡的 Compare 表达式:

expr = Compare(expr left, cmpop* ops, expr* comparators)
Run Code Online (Sandbox Code Playgroud)

如果我没记错的话,在 python 中,诸如这样的表达式a<b<c被转换成类似a<b && b<cwhere b 只被评估一次的东西......所以我想在 c 中你应该做类似的事情bool v0=a<b; bool v1=v0<c,以防止 b 被多次评估,以防第一条是真的。

不幸的是,我不知道如何将其放入代码中,到目前为止,这就是我所拥有的:

import ast
import shutil
import textwrap
from subprocess import PIPE
from subprocess import Popen


class Visitor(ast.NodeVisitor):
    def visit(self, node):
        ret = super().visit(node)
        if ret is None:
            raise Exception("Unsupported node")
        return ret

    def visit_Expr(self, node):
        return f"{self.visit(node.value)};"

    def visit_Eq(self, node): …
Run Code Online (Sandbox Code Playgroud)

c python compiler-construction abstract-syntax-tree transpiler

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

如何捕捉QGraphicsTextItem网格?

让这个小片段:

import sys
from PyQt5 import QtWidgets
from PyQt5 import QtCore
from PyQt5 import QtGui
from PyQt5.QtWidgets import QMenu
from PyQt5.QtGui import QKeySequence
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QCursor
from PyQt5.QtWidgets import QGraphicsObject
from PyQt5.QtCore import QRectF
from PyQt5.QtGui import QBrush
from PyQt5.QtCore import QPoint
from PyQt5.QtGui import QLinearGradient
from PyQt5.QtGui import QColor
from PyQt5.QtGui import QPen
from PyQt5.QtGui import QPainter
from PyQt5.QtWidgets import QGraphicsTextItem
from PyQt5.QtWidgets import QGraphicsItem


def create_action(parent, text, slot=None,
                  shortcut=None, shortcuts=None, shortcut_context=None,
                  icon=None, tooltip=None, …
Run Code Online (Sandbox Code Playgroud)

python pyqt python-3.x pyqt5

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