小编cos*_*sor的帖子

基于Python的构建工具

我最近一直在寻找构建系统,我找不到任何接近我想要的东西.我认为太低端,我不喜欢bjamCMake的语法,我真的不喜欢它们只适用于C/C++.AntNAnt也过于语言化.

我非常喜欢使用真正的编程语言的构建工具的想法,Python非常适合.我一直在寻找Sconswaf,从这两个我发现waf是最接近我想要的那个,但我仍然看到很多工作必须要做,以支持所有计划,当我应该专注于编码.

这就是我想要的:

  • 包含和库(用于C/C++,Java,C#,Python)

  • 我想使用不同版本的编译器并支持不同的目标操作系统和CPU架构:

    • for C/C++:MSVC,gcc(cygwin,mingw,linux version),llvm-gcc,DragonEgg,Clang
    • 对于C#:.Net编译器,Mono(用于Windows和Linux) - 所有这些用于不同的.Net版本(如NAnt的:'net-2.0','net-3.5','net-4.0','mono-2.0' ,'mono-3.5'......)
  • 我想使用SWIG来支持C#,Python,Lua,Java等的包装器生成.

  • 我想要更多只是调试和发布配置 - 就像Visual Studio非常容易支持这一点.示例:共享库项目构建了用于C#包装的MSVC,并使用mingw构建用于Python包装,不同版本的发行版本 - 具有非优化,完全优化,生产,混淆...

  • 我希望它考虑项目跟踪.解释:如果我有一个使用SWIG的共享库项目,以及一个加载SWIG包装的不同C#项目,构建此解决方案/ environment/workspace将意味着复制生成的共享库,复制共享库在工作中使用的其他共享库目录,以及C#为C#项目生成包装器,然后构建C#项目

  • 不错的选择:在其他机器上部署以进行网络测试

  • 很高兴:我并不真正关心IDE项目文件生成(例如像CMake那样用于Visual Studio),因为IDE版本和兼容性改变,并且有很多不错的IDE(例如C/C++) CodeBlocks,CodeLite,Eclipse CDT - 所有这些都可以在拇指驱动器上移植,VS不是),但是很好的将是makefile集成 - 一个简单地调用这个Build工具自己的makefile /脚本的makefile - 看到类似的东西scons的

看着我写的东西,我觉得我问了太多:),但我认为这比我更有用

编辑:忘了说,但我认为这是使用Python暗示的:我希望该工具是跨平台的

编辑:也许我正在寻找的还没有实现,但它可能退出所有这一切的waf扩展,或Scons也许

c++ python build-process makefile build

14
推荐指数
1
解决办法
1876
查看次数

是RPython支持的生成器?

RPython是否支持生成器,因为我只是在PyPy的文档中读到了一些内容,但它们并没有

PyPy Doc - 编码指南

它们似乎很容易被翻译成像C这样的静态类型语言,因为每个生成步骤都是在函数调用中生成的.

有人可以解释原因吗?或者对这个问题有更多的了解.我目前正在尝试学习编写RPython安全代码的基础知识.

python pypy generator rpython

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

OSError:[WinError 6]从Python 3.6调用子进程时句柄无效

我正在将项目移植到Python3,我在Windows上遇到意外错误:

基本上在Windows上的Python 3.6上,每次使用子进程创建进程时,我都有以下异常:

d:\temp\backpack\venv\myvenv_py3.6\lib\site-packages\git\cmd.py:1011: in _call_process
    return self.execute(call, **exec_kwargs)
d:\temp\backpack\venv\myvenv_py3.6\lib\site-packages\git\cmd.py:732: in execute
    **subprocess_kwargs
D:\temp\cpython-3.6.3\Lib\subprocess.py:611: in __init__
    _cleanup()
D:\temp\cpython-3.6.3\Lib\subprocess.py:220: in _cleanup
    res = inst._internal_poll(_deadstate=sys.maxsize)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <subprocess.Popen object at 0x0000000004FD53C8>
_deadstate = 9223372036854775807
_WaitForSingleObject = <built-in function WaitForSingleObject>
_WAIT_OBJECT_0 = 0, …
Run Code Online (Sandbox Code Playgroud)

python subprocess python-3.x

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

具有自定义渲染/绘图的Python GUI

我正在寻找一个Python GUI库,我可以重写渲染/绘图.

它必须支持基本小部件(按钮,组合框,列表框,文本编辑器,滚动),布局管理,事件处理

我正在寻找的是使用我的自定义Direct3D和OpenGL渲染器来进行所有GUI的绘制/渲染.

编辑S.Lott建议:我需要将这个GUI用于3D编辑器,因为我必须将很多东西从GUI元素拖放到3d渲染区域,我想使用一个使用Direct3D渲染的GUI系统(preffered)或OpenGL.它也必须有一个漂亮的外观.用WPF这样的GUI很难实现这一点,因为WPF没有句柄.它也需要绝对免费用于商业用途.

编辑:我还想使用我在我的应用程序中为3d部件初始化的渲染上下文

python opengl directx user-interface

8
推荐指数
1
解决办法
1568
查看次数

c ++调用模板类的特定模板构造函数

如果类也是模板,是否可以使用模板参数调用构造函数?

#include <stdio.h>
#include <iostream>

template <class A>
struct Class
{
  template <class B>
  Class(B arg) { std::cout << arg << std::endl; }
};

int main()
{
  Class<int> c<float>(1.0f);
  Class<int>* ptr = new Class<int><float>(2.0f);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

编辑:所以我想调用特定模板构造函数的唯一方法是使用casted paramterers调用它到你想要的模板类型:

#include <stdio.h>
#include <iostream>

template <class A>
struct Class
{
  template <class B>
  Class(B arg) { std::cout << arg << std::endl; }

  Class(double arg) { std::cout << "double" << std::endl; }
  Class(float arg) { std::cout << "float" << std::endl; }
}; …
Run Code Online (Sandbox Code Playgroud)

c++ templates constructor

5
推荐指数
1
解决办法
7209
查看次数

为什么Python属性不设置属性值

请考虑以下代码:

class Class:
    def __init__(self):
        self._value = False
    def GetValue(self):
        return self._value
    def SetValue(self, val):
        self._value = val
    Value = property(GetValue, SetValue)

c = Class()
print c._value, c.Value
False False
c.Value = True
print c._value, c.Value
False True
Run Code Online (Sandbox Code Playgroud)

为什么财产没有调用我的功能?(我在Windows上运行Python 2.6.5)

python setter properties

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