小编Mat*_*ský的帖子

GCC,Unicode和__FUNCTION__

我正在尝试使我的项目在GCC下编译(Visual Studio完美地编译它).

我有一个自定义断言函数,它抛出一个wstring消息.它的一部分是_ _FUNCTION__宏,我使用MSDN中的WIDEN宏"unicodize"

#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
Run Code Online (Sandbox Code Playgroud)

它在MSVC中编译好,但它在GCC中打印出来:

error: ‘L__FUNCTION__’ was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

我可以使用的唯一解决方案是使用mbstowcs在运行时将__FUNCTION __的内容转换为wstring,但我想找到一种编译时方法.

感谢帮助.

c++ unicode gcc

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

Olive(Mono)如何实施(W)PF?

在维基百科上阅读一篇关于Mono文章时,我发现有一个名为Olive的Mono子/侧面项目,旨在将.NET的剩余部分带到Mono - 目前专注于Workflow Foundation和WPF - 尽管他们出于明显的原因打电话它只是"演示基金会".

这让我想到:WPF与DirectX密切相关,后者又与Windows密切相关.他们如何计划在更广泛的操作系统上运行?他们根本不使用任何GPU加速?或者他们是基于OpenGL吗?或者是其他东西?

此外 - 如果有人对项目有更多了解(该主题中的网络信息非常少),他们可以回答:项目的当前状态是什么?我能否真的期待Mono在中期未能获得WPF的合理支持?

directx wpf mono moonlight

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

DataGrid和数组之间的双向绑定

我有一个名为的数组:

string[,] TableData;
Run Code Online (Sandbox Code Playgroud)

我可以使用绑定将其内容与DataGrid控件链接吗?

如果可能,我希望用户能够编辑网格并反映数组中的更改.

c# arrays wpf datagrid

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

在Doxygen中处理两个具有相同名称的不同函数

我有一个C项目,它包含两个具有相同名称的函数,但每个函数都位于不同的组/模块(@defgroup)中.

这些函数每个都编译成一个不同的二进制文件,但我需要文档密切交叉引用,所以我需要@ref从彼此的模块中引用()这些函数(以及其他地方).

当我做简单时@ref name-of-the-function,它总是链接到文件树中较早的文件.我怎样才能链接到另一个?

c documentation doxygen

6
推荐指数
2
解决办法
3728
查看次数

如何在中等规模的项目中诊断g ++错误"cc1plus.exe:内存不足分配838860800字节"?

我正在尝试使用基本的makefile将C++库移植到g ++ (它在Visual Studio中编译得很好).我正在尝试编译的部分现在测量大约45000行代码.

库本身编译正常,但是当我尝试将其包含在控制台iterface应用程序中时,编译器会崩溃并显示以下消息:

 cc1plus.exe: out of memory allocating 838860800 bytes
Run Code Online (Sandbox Code Playgroud)

当我包含项目的主标题时(这是机器生成的并且没有提交给repo,请在Gist上看到它).

我认为这是因为标题太大,但我注意到其他项目都有这样的无所不包的标题,并且不会遇到这些问题.我试图从标题中删除所有非必需品(大约1/3,其余部分是应用程序编译所必需的)并且问题仍然存在.我还注意到错误消息中的数字根本没有改变,所以我认为有一些奇怪的问题导致错误,而不是由于大量的代码引起的.

除了通常的STL之外,模板的使用非常少,而我正在编译的代码似乎并不显着.

我在Windows 8.1 x64上的mingw32下使用g ++ 4.8.1,内存为16 GB.代码正在编译-std=c++98.

如何找到导致此问题的代码?g ++没有为我提供任何诊断信息来建议原因,即使是-v交换机(这是它返回的内容).

c++ gcc compilation g++

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

在2D数组中创建线性渐变

我有一个类似2D位图的数组,比方说500*500的值.我正在尝试在数组上创建线性渐变,因此生成的位图看起来像这样(灰度): 示例渐变
(来源:showandtell-graphics.com)

输入将是要填充的数组,两个点(如Photoshop/GIMP中渐变工具的起点和终点)以及将使用的值范围.

我目前最好的结果是:

alt text http://img222.imageshack.us/img222/1733/gradientfe3.png

......这远远不是我想要实现的目标.它看起来更像是径向渐变.

创建这样一个渐变的最简单方法是什么?我将用C++实现它,但我想要一些通用算法.

c++ algorithm graphics

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

如何使STL抛出异常而不是断言?

我必须为一些写得不好的C++代码编写测试.问题是代码在许多情况下导致STL断言/调试中断(通常由诸如字符串/向量的边界之外的访问之类的愚蠢错误引起),这导致测试的终止.

是否有可能使STL抛出异常(可以被捕获)而不仅仅是崩溃?

我必须将对原始代码的更改保持在绝对最小值.

感谢帮助

c++ unit-testing stl

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

旋转也调整大小?

我有这个xaml

    <Image Width="240" Height="240">                
        <Image.Source>                    
            <DrawingImage>
                <DrawingImage.Drawing>
                    <DrawingGroup>
                        <DrawingGroup>
                            <DrawingGroup>
                                <DrawingGroup.Transform>
                                    <TransformGroup>
                                        <RotateTransform Angle="-15" CenterX="120" CenterY="120" />
                                        <TranslateTransform Y="-20" />
                                    </TransformGroup>
                                </DrawingGroup.Transform>

                                <ImageDrawing ImageSource="Images\pNxVK.png" Rect="0,0,240,240" />
                            </DrawingGroup>

                            <DrawingGroup.ClipGeometry>
                                <EllipseGeometry Center="120,120" RadiusX="60" RadiusY="60" />
                            </DrawingGroup.ClipGeometry>
                        </DrawingGroup>

                        <DrawingGroup>
                            <DrawingGroup>
                                <!--<DrawingGroup.Transform>
                                    <RotateTransform Angle="-15" CenterX="120" CenterY="120" />
                                </DrawingGroup.Transform>-->
                                <ImageDrawing ImageSource="Images\zUr8D.png" Rect="0,0,240,240" />
                            </DrawingGroup>                                        
                            <ImageDrawing ImageSource="Images\XPZW9.png" Rect="0,0,240,240" />
                        </DrawingGroup>                                
                    </DrawingGroup>
                </DrawingImage.Drawing>
            </DrawingImage>
        </Image.Source>
    </Image>
Run Code Online (Sandbox Code Playgroud)

xaml的结果是(正确的大小)

在此输入图像描述

如果我取消注释上面的xaml中的旋转变换我得到这个(错误的大小) 在此输入图像描述

wpf xaml rotatetransform

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

在WPF中渲染大型平铺地图的问题

在WPF中管理大量图像(10,000+)的最佳方法是什么?这是针对类似于此的2d平铺地图编辑器:http://www.mapeditor.org/.

目前我有一个画布,其中所有图块都是图像,列表框包含可供选择的不同图像.每个图块都作为子图形添加到画布中,然后存储在列表中以供以后访问.通过将tile的Source属性设置为在列表框中选择的属性,可以在画布中绘制.它适用于大约50x50瓦片地图,但是上面的任何内容都会导致加载延迟,通常是慢速应用.

有什么建议吗?QT可能更适合而不是wpf吗?

提前致谢

wpf 2d map tile

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

使用 foreach 枚举基数

我试图在扩展另一个类的类中执行此操作,该类实现IEnumerable<T>

public override IEnumerator<T> GetEnumerator(){
    foreach (var item in base){
        // Some logic here
        yield return item;
        // Some more logic here
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,这会失败,并出现编译错误,指出“base”使用不正确。

我想继承父类的所有行为,除了将一些“虚拟”项目插入枚举集合并跳过一些其他项目之外。

我通过手动操作枚举器来解决这个问题(本质上是执行foreach扩展为 except 调用GetEnumeratoronbase而不是 的操作this)。但这并不能产生最直接的代码。

所以我的问题是:这可以用 foreach 来完成吗?

c# ienumerable

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