小编JBe*_*rer的帖子

如何以跨平台方式+ CMake自动下载C++依赖项?

基本上我想实现这个工作流程:

  1. 在Windows系统(或任何平台)上从存储库签出.

  2. 运行一些获取依赖项的工具,包括和libs并将它们放在适当的位置(例如在Windows上的"\ Program Files\Microsoft Visual Studio 10.0\VC\Lib和\ Includes"中)

  3. 运行CMake(在win上创建MSVS项目)

  4. 打开MSVS项目并进行编译.

我希望在大多数平台上都有这个工作流程.

我不想手动下载依赖项

如何在不存储存储库的依赖项的情况下执行此操作 实现这一目标的最佳方法是什么?

c++ windows dependencies cmake

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

在Visual Studio 2015中是否有C#的"转到变量类型声明"功能或免费插件吗?

void MagicalFunction(MagicalType magic)
{
    ...
    magic.Poof("something");
    ...
    var foo = magic.GetFoo();
    ...
}
Run Code Online (Sandbox Code Playgroud)

按变量上的热键magic将导航到类型的定义MagicalType.

按热键foo将会定义Foo因类型推断而无法在此处直接看到的类型.

Resharper插件具有此功能(称为Go To Type of Symbol),但有内置替代或免费扩展吗?

c# plugins hotkeys visual-studio-2015 vs-community-edition

11
推荐指数
3
解决办法
2338
查看次数

6000万条目,从某个月中选择条目.如何优化数据库?

我有一个拥有6000万条目的数据库.

每个条目包含:

  • ID
  • DataSourceID的
  • 一些数据
  • 约会时间

  1. 我需要选择某个月的参赛作品.每个月包含大约200万条目.

     select * 
       from Entries 
      where time between "2010-04-01 00:00:00" and "2010-05-01 00:00:00"
    
    Run Code Online (Sandbox Code Playgroud)

    (查询大约需要1.5分钟)

  2. 我还想从给定的DataSourceID中选择某个月的数据.(大约需要20秒)

大约有50-100个不同的DataSourceID.

有没有办法让这更快?我有什么选择?如何优化此数据库/查询?


编辑:有约.每秒60-100次插入!

mysql sql query-optimization

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

如何在WinForms,GDI +中绘制和填充像素完美的对称椭圆?

我需要绘制(并填充)像素完美,非反对称的对称椭圆.

我已经试过的各种组合InterpolationMode,SmoothingModePixelOffsetMode,但在所有的大小没有我曾尝试做出肯定的椭圆对称停留和非组合的抗alised.

不幸的是,有关该主题的MSDN文档不是很准确.

椭圆在所有尺寸上都不对称

用于绘图的代码:

g.InterpolationMode = InterpolationMode.NearestNeighbor;
g.SmoothingMode = SmoothingMode.None;
g.PixelOffsetMode = PixelOffsetMode.None;                                
g.DrawEllipse(new Pen(colorPalette.SelectedColor), rect);
Run Code Online (Sandbox Code Playgroud)

填充非反椭圆椭圆也是如此.

有谁知道这方面的解决方案?

c# gdi+ winforms

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

PropertyGrid替代品

我喜欢PropertyGrid,至少它背后的概念 - 使用反射和属性来编辑你的对象,而无需编写很多UI代码.

我的兴奋很快消失了,默认的PropertyGrid运输与WinForms完全糟糕.嗯,这对于编辑简单的对象等很好,但就目前而言.

  • 它不会为具有"Object"类型的动态属性显示适当的UITypeEditors.
  • 只要您的对象包含集合,您就可以使用所谓的CollectionEditor编辑它们.但是,它不会触发PropertyValueChanged事件.所以一旦你需要添加撤消功能,你就搞砸了.
  • 我仍然没有找到一种优雅的方法来为CollectionEditor添加验证.
  • 如果选择了多个对象,则实现撤销也存在问题,因为在这种情况下,PropertyValueChanged事件args ChangedItem为null.

我很快发现自己正在编写黑客来解决这些问题而不是令人满意的结果.

你会怎么做?至少前三个问题是否有优雅的解决方案?有替代的属性网格吗?最好是免费还是没有PInvokes?

.net c# propertygrid winforms

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

Winforms:如何创建具有可变项高度的列表框

我需要一个简单的列表框控件,每个项目的高度会有所不同.然后我需要为每个项目绘制一个自定义图像.

基本上item_height将等于(listbox_width/image_width)*image_height.

通常情况下,我只需要一个列表框并指定绘制事件,但我需要为每个项目设置一个可变高度.

有一种简单的方法可以获得包含可变高度项的列表框吗?

.net c# listbox winforms

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

使用多个类/接口列出过滤

基本上我有一个对象列表,其中每个对象可能实现一组不同的接口:

List<BaseObject> objects;

class BaseObject
{
  public void DoStuff();
}

interface IX
{
  void DoX();
}

interface IY
{
  void DoY();
}

interface IZ
{
  void DoZ();
}
Run Code Online (Sandbox Code Playgroud)

我想写这样的东西:

foreach(var obj in objects.OfType<BaseObject and IX>)
{
  obj.DoStuff();
  obj.DoX();
}
Run Code Online (Sandbox Code Playgroud)

(例如,我为BaseObject和IX类型的对象执行特定的算法,而不必在那里进行类型转换)

可以用C#做​​吗?什么是最优雅的解决方案?

我可以做这个:

foreach(var obj in objects.OfType<IX>)
{
  var baseobj = (BaseObject)obj.DoStuff();
  obj.DoX();
}
Run Code Online (Sandbox Code Playgroud)

但我发现它很难看.

我可能需要将特定操作应用于实现说接口IX和接口IZ的类型.

foreach(var obj in objects.OfType<BaseType and IX and IZ>)
{
  obj.DoStuff();
  obj.DoX();
  obj.DoZ();
}
Run Code Online (Sandbox Code Playgroud)

c# generics interface

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

如何在属性网格中显示动态对象?

我有一个自定义对象类型,必须在以下内容中进行编辑PropertyGrid:

public class CustomObjectType
{
    public string Name { get; set; }        
    public List<CustomProperty> Properties {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

其中包含自定义属性列表:

public class CustomProperty
{
    public string Name { get; set; }
    public string Desc { get; set; }
    public Object DefaultValue { get; set; }    
    Type type;

    public Type Type
    {
        get
        {
            return type;
        }
        set
        {
                type = value;
                DefaultValue = Activator.CreateInstance(value);
        }              
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的主要问题是PropertyGrid控件不允许编辑,也不使用适当的编辑工具来DefaultValue预先通过设置CustomProperty's字段的值来实例化的属性Type.

类型DefaultValue仅在运行时已知. …

c# propertygrid winforms

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

在给定每次迭代的常量输入数据的情况下,如何在N个偶数部分中分割FOR循环以进行并行执行?

我有一个耗时的循环,我想并行执行.伪代码:

for(int n = 0; n < 2048; n++)
{
  output_data[n] = function(constant_input_data, n)
}
Run Code Online (Sandbox Code Playgroud)
  • 每次迭代的输入数据完全相同
  • 第N次迭代的输出存储在索引为N的数组中.

如何在C等分中划分这个循环,其中C是CPU核心数?

在C#,.net中执行此操作的最佳和最优雅的方法是什么?

.net c# parallel-processing multithreading task-parallel-library

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

这个OpenGL Haskell代码如何工作?

我正在通过直接进入OpenGL学习Haskell,我似乎无法破译这段代码:

display :: DisplayCallback
display = do
  let color3f r g b = color $ Color3 r g (b :: GLfloat)
      vertex3f x y z = vertex $ Vertex3 x y (z :: GLfloat)

  clear [ColorBuffer]
  renderPrimitive Quads $ do
    color3f 1 0 0
    vertex3f 0 0 0
    vertex3f 0 0.2 0
    vertex3f 0.2 0.2 0
    vertex3f 0.2 0 0

    color3f 0 1 0
    vertex3f 0 0 0
    vertex3f 0 (-0.2) 0
    vertex3f 0.2 (-0.2) 0
    vertex3f 0.2 0 0 …
Run Code Online (Sandbox Code Playgroud)

opengl monads haskell

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

计算OpenGL纹理相似度/距离的最快方法?

这就是我所拥有的:

  1. 我从磁盘加载一个纹理,比如256x256,说一张企鹅的照片
  2. 我创建了另一个具有相同尺寸的纹理,并在其上绘制了一些东西

我想找到两个openGL纹理之间的距离尽可能快(距离函数的准确性是最不重要的).

实际上,它们最初可能不是纹理.我不妨将帧缓冲区域与加载的纹理进行比较,或者做一些其他"魔术".

怎么做超快?

opengl graphics image-processing computer-vision

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