我正在尝试使我的项目在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,但我想找到一种编译时方法.
感谢帮助.
我有一个名为的数组:
string[,] TableData;
Run Code Online (Sandbox Code Playgroud)
我可以使用绑定将其内容与DataGrid控件链接吗?
如果可能,我希望用户能够编辑网格并反映数组中的更改.
我有一个C项目,它包含两个具有相同名称的函数,但每个函数都位于不同的组/模块(@defgroup)中.
这些函数每个都编译成一个不同的二进制文件,但我需要文档密切交叉引用,所以我需要@ref从彼此的模块中引用()这些函数(以及其他地方).
当我做简单时@ref name-of-the-function,它总是链接到文件树中较早的文件.我怎样才能链接到另一个?
我正在尝试使用基本的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交换机(这是它返回的内容).
我有一个类似2D位图的数组,比方说500*500的值.我正在尝试在数组上创建线性渐变,因此生成的位图看起来像这样(灰度):

(来源:showandtell-graphics.com)
输入将是要填充的数组,两个点(如Photoshop/GIMP中渐变工具的起点和终点)以及将使用的值范围.
我目前最好的结果是:
alt text http://img222.imageshack.us/img222/1733/gradientfe3.png
......这远远不是我想要实现的目标.它看起来更像是径向渐变.
创建这样一个渐变的最简单方法是什么?我将用C++实现它,但我想要一些通用算法.
我必须为一些写得不好的C++代码编写测试.问题是代码在许多情况下导致STL断言/调试中断(通常由诸如字符串/向量的边界之外的访问之类的愚蠢错误引起),这导致测试的终止.
是否有可能使STL抛出异常(可以被捕获)而不仅仅是崩溃?
我必须将对原始代码的更改保持在绝对最小值.
感谢帮助
我有这个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中管理大量图像(10,000+)的最佳方法是什么?这是针对类似于此的2d平铺地图编辑器:http://www.mapeditor.org/.
目前我有一个画布,其中所有图块都是图像,列表框包含可供选择的不同图像.每个图块都作为子图形添加到画布中,然后存储在列表中以供以后访问.通过将tile的Source属性设置为在列表框中选择的属性,可以在画布中绘制.它适用于大约50x50瓦片地图,但是上面的任何内容都会导致加载延迟,通常是慢速应用.
有什么建议吗?QT可能更适合而不是wpf吗?
提前致谢
我试图在扩展另一个类的类中执行此操作,该类实现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 来完成吗?