我们有一个大的C++应用程序,有时我们需要作为调试版本运行以调查错误.调试版本比发布版本慢得多,几乎无法使用.
有哪些技巧可以使MSVC Debug构建执行得更快而不会牺牲太多的可调试性?
Python有很多GUI库:tkinter,wxWidgets,pyGTK等.但是所有这些GUI都需要安装并且非常重量级,因此部署最终用户GUI python应用程序会在提到的GUI库上进行中继时有点复杂.
最近,我考虑过python的内置ctypes模块.从理论上讲,可以创建一个纯的python GUI库,用于ctypesWindows(windll.user32.CreateWindowEx等),MacOS上的原生pyObjC和gnome/kde上的pyGTK/pyQt.这样的图书馆存在吗?如果没有,你认为这个想法有什么问题?
上下文:.Net 3.5,C#
我想在我的控制台应用程序中使用缓存机制.
我想使用System.Web.Caching.Cache(而这是最后的决定,我不能使用其他缓存框架,不要问为什么),而不是重新发明轮子.
但是,它看起来System.Web.Caching.Cache应该只在有效的HTTP上下文中运行.我非常简单的代码片段如下所示:
using System;
using System.Web.Caching;
using System.Web;
Cache c = new Cache();
try
{
c.Insert("a", 123);
}
catch (Exception ex)
{
Console.WriteLine("cannot insert to cache, exception:");
Console.WriteLine(ex);
}
Run Code Online (Sandbox Code Playgroud)
结果是:
cannot insert to cache, exception: System.NullReferenceException: Object reference not set to an instance of an object. at System.Web.Caching.Cache.Insert(String key, Object value) at MyClass.RunSnippet()
显然,我在这里做错了.有任何想法吗?
更新:+1到大多数答案,通过静态方法获取缓存是正确的用法,即HttpRuntime.Cache和HttpContext.Current.Cache.谢谢你们!
我有一个项目作为Windows服务部署到生产.但是,对于本地开发目的,将其作为控制台应用程序运行会很有用.目前我有一个Called类ReportingHost提供我的核心功能,还有一个名为ReportingServiceHost的类,它继承ServiceBase并允许我将应用程序作为服务运行.还有一个程序类,其主要方法调用ServiceBase.Run我的ReportingServiceHost.
我想我需要编写一个ReportingConsoleHost允许我在控制台中运行该功能的类.然后我需要修改我Main对命令行开关做出反应并选择其中一个.这些是我遇到麻烦的两个部分.
我已经看过这个并尝试使用该代码,但我的应用程序立即退出,它没有显示控制台窗口,并且它不会在关闭前等待Enter.
问题的一部分是我对这些事情的运作方式没有深刻的理解.一个分裂我的功能的权威模式,我运行该功能的两种不同方式,以及一个基于命令行参数选择这些方法之一的主方法是我希望实现的.
为了测试压缩,我需要能够创建大文件,理想情况下是文本,二进制和混合格式.
为了创建二进制文件,我可以新建一个大缓冲区并在循环中执行System.Random.NextBytes后跟FileStream.Write,如下所示:
Int64 bytesRemaining = size;
byte[] buffer = new byte[sz];
using (Stream fileStream = new FileStream(Filename, FileMode.Create, FileAccess.Write))
{
while (bytesRemaining > 0)
{
int sizeOfChunkToWrite = (bytesRemaining > buffer.Length) ? buffer.Length : (int)bytesRemaining;
if (!zeroes) _rnd.NextBytes(buffer);
fileStream.Write(buffer, 0, sizeOfChunkToWrite);
bytesRemaining -= sizeOfChunkToWrite;
}
fileStream.Close();
}
Run Code Online (Sandbox Code Playgroud)
使用足够大的缓冲区,比方说512k,这相对较快,即使对于超过2或3gb的文件也是如此.但内容完全是随机的,这不是我想要的.
对于文本文件,我采用的方法是使用Lorem Ipsum,并通过StreamWriter将其重复发送到文本文件中.内容是非随机且不均匀的,但它确实有许多相同的重复块,这是不自然的.此外,由于Lorem Ispum块非常小(<1k),因此需要很多循环并且需要非常长的时间.
这些都不是我满意的.
我已经看到了在Windows系统上快速创建大文件的答案?.这些方法非常快,但我认为它们只是用零或随机数据填充文件,这两者都不是我想要的.如果需要,我可以运行像contig或fsutil这样的外部进程.
测试在Windows上运行.
而不是创建新文件,仅使用文件系统中已存在的文件更有意义吗?我不知道任何足够大的东西.
如何从单个现有文件开始(对于文本文件可能是c:\ windows\Microsoft.NET\Framework\v2.0.50727\Config\enterprisesec.config.cch)并多次复制其内容?这适用于文本或二进制文件.
目前我有一种方法可行,但运行时间太长.
有没有人解决过这个问题?
编写文本文件比通过StreamWriter快得多吗?
建议?
编辑:我喜欢马尔可夫链的想法,以产生更自然的文本.但仍需要面对速度问题.
我创建了一个客户c#DropDownList控件,它可以呈现出来的内容是optgroups(不是从头开始,我编辑了一些在互联网上找到的代码,虽然我确实理解它正在做什么),但它工作正常.
但是,我现在遇到的情况是我需要在下拉列表中有两个级别的缩进,即
<select>
<optgroup label="Level One">
<option> A.1 </option>
<optgroup label="Level Two">
<option> A.B.1 </option>
</optgroup>
<option> A.2 </option>
</optgroup>
</select>Run Code Online (Sandbox Code Playgroud)
但是,在上面的示例代码段中,它呈现为好像Level Two与缩进量相同Level One.
有没有办法生成我正在寻找的嵌套optgroup行为?
我有一个分类广告网站,我想知道创建子域名或子文件夹是否更好,因为我处于混乱状态.
如果我们需要采用子域,那么我们可以从子域获得哪些好处?
如果我们需要获取子文件夹,那么我们可以从中获得哪些好处?
如果我们创建子域,那么Google会将子域视为单个域,并且每页只显示2个结果.
所以请清除我的疑虑,让我知道哪一个更好.
我希望建立一个主题图来catagorize内容.
例如,主题'艺术'可能有'艺术史','绘画','雕塑'等子类别.
我已经抓取了一些在线资源,但是我遇到了与我希望如何使用层次结构有关的问题.
我有很多内容,我希望按主题索引.因此,举一个上面的例子,如果用户搜索"艺术",那么他们不仅会得到任何提及"艺术"的东西,而且还会提到任何提到"绘画"的东西,即使它没有提到"艺术".很公平.
但是,如果在我的heirarchy的另一部分中,我有"House Maintenance",那么那也可能有一个"绘画"的副标题.
但是如果用户搜索"艺术",我的引擎会说'好吧,绘画是'艺术'的子类别,所以我将包含这些内容,这些内容都是最好的颜色来画你的浴室墙壁. ..
有没有人遇到过这个问题?我试过谷歌搜索,但不知道确切的术语,很难取得进展....
编辑:更简洁,"绘画"是"艺术"的副主题,但如果有关于"绘画"的内容,那么它并不一定会追随它的"艺术",因为"艺术"不是"绘画"的唯一父母.
.net ×2
c# ×2
debugging ×2
perl ×2
c++ ×1
caching ×1
ddd-debugger ×1
directory ×1
dns ×1
filesystems ×1
html ×1
httpcontext ×1
md5 ×1
optgroup ×1
performance ×1
pygtk ×1
pyobjc ×1
pyqt ×1
python ×1
seo ×1
testing ×1
tkinter ×1
topic-maps ×1
visual-c++ ×1
wcf ×1
windows ×1