小编Ken*_*art的帖子

使用ijg支持JPEG - 获取访问冲突

我最近试图更新我的游戏以压缩格式(JPEG和PNG)存储图形.

虽然我最终选择了不同的库,但我最初的尝试是将ijg与JPEG解压缩结合起来.但是,我甚至无法使最简单的控制台应用程序工作,我想知道是否有人可能能够阐明原因.

这是我的代码,它链接到作为ijg包的一部分的jpeg.lib:

#include "stdafx.h"
#include <stdio.h>
#include <assert.h>
#include <jpeglib.h>

int _tmain(int argc, _TCHAR* argv[])
{
    struct jpeg_decompress_struct cinfo;
    struct jpeg_error_mgr jerr;
    JSAMPARRAY buffer;
    int row_stride;

    //initialize error handling
    cinfo.err = jpeg_std_error(&jerr);

    //initialize the decompression
    jpeg_create_decompress(&cinfo);

    FILE* infile;
    errno_t err = fopen_s(&infile, "..\\Sample.jpg", "rb");
    assert(err == 0);

    //specify the input
    jpeg_stdio_src(&cinfo, infile);

    //read headers
    (void) jpeg_read_header(&cinfo, TRUE);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

问题是调用jpeg_read_header()失败并出现访问冲突:

JPEGTest.exe中0x7c91b1fa(ntdll.dll)的未处理异常:0xC0000005:访问冲突写入位置0x00000010.

有没有人有任何想法我可能做错了什么?

c c++ jpeg ijg

3
推荐指数
2
解决办法
4668
查看次数

.NET控制台的窗口系统

有没有人知道控制台的任何简单的.NET窗口系统?

我正在寻找管理控制台区域的东西,以便它们可以独立于其他区域自动滚动.例如,我可以在底部创建一个状态条,在其上面创建一个主内容区域.如果它为我处理颜色也会很有用.

谢谢,肯特

.net c# console window

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

测试使用多个调度程序的代码的技术

当一个SUT依赖多个调度程序时,使测试代码简洁而集中的最佳方法是什么?即,避免虚假调用来推进多个不同的调度程序。

到目前为止,我的技术一直是定义提供调度程序的应用程序级服务:

public interface ISchedulerService
{
    IScheduler DefaultScheduler { get; }

    IScheduler SynchronizationContextScheduler { get; }

    IScheduler TaskPoolScheduler { get; }

    // other schedulers
}
Run Code Online (Sandbox Code Playgroud)

然后,应用程序组件具有ISchedulerService注入的实例,对于需要调度程序的任何反应式管道,都可以从服务中获取。然后,测试代码可以使用的实例TestSchedulerService

public sealed class TestSchedulerService : ISchedulerService
{
    private readonly TestScheduler defaultScheduler;
    private readonly TestScheduler synchronizationContextScheduler;
    private readonly TestScheduler taskPoolScheduler;
    // other schedulers

    public TestSchedulerService()
    {
        this.defaultScheduler = new TestScheduler();
        this.synchronizationContextScheduler = new TestScheduler();
        this.taskPoolScheduler = new TestScheduler();
    }

    public IScheduler DefaultScheduler
    {
        get { return this.defaultScheduler; }
    }

    public IScheduler …
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing system.reactive

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

使用ICollectionView多次过滤集合

我正在尝试过滤DataGrid中显示的ObservableCollection.这在第一次工作得很好,但是当我尝试再次过滤时,它使用sourcecollection而不是过滤结果.短代码示例:

ICollectionView view = CollectionViewSource.GetDefaultView(myCollection);
view.Filter = delegate(object item){
  User user = item as User;
  if(user != null && user.Name.ToLower().Contains(textbox.Text.ToLower())) return true;
  return false;
};
Run Code Online (Sandbox Code Playgroud)

所以我想要做的只是过滤我的DataGrid中显示的项目,而不是整个集合(当然第一次使用过滤器时,它将使用整个集合).

c# wpf filter collectionview icollectionview

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

依赖注入可以节省内存空间吗?

我在C#服务器应用程序中有大量的大对象.许多对象属性通常都有默认值.

是否值得尝试依赖注入来优化或减少应用程序中的内存使用量?

c# dependency-injection

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

如何在WPF中一秒后更改边框的背景颜色?

我点击按钮的边框背景是蓝色的,一秒钟后它应该是红色的。它是红色但不是蓝色。为什么?

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Border Width="111" Name="op" Height="111">
        <Button Name="opbtn" Click="opbtn_Click" Width="50" Height="23">click</Button>
    </Border>
</Window>
Run Code Online (Sandbox Code Playgroud)

代码隐藏:

private void opbtn_Click(object sender, RoutedEventArgs e)
{
    op.BorderBrush = System.Windows.Media.Brushes.Blue;
    DateTime obj1 = new DateTime(); 
    DateTime obj2 = DateTime.Now.AddMilliseconds(200);
    while (obj2 > obj1)
    {
        obj1 = DateTime.Now;
    }
    op.BorderBrush = System.Windows.Media.Brushes.Red;
}
Run Code Online (Sandbox Code Playgroud)

c# wpf

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