小编rou*_*tic的帖子

驯服malloc /免费野兽 - 提示和技巧

我一直在一些项目上使用C获得硕士学位,但从未使用它构建生产软件.(.NET和Javascript是我的面包和黄油.)显然,需要free()记忆你malloc()在C中是至关重要的.如果你能在一个例行程序中做到这两件事,这很好,很好.但是随着程序的发展和结构的深入,跟踪什么是malloc"适合自由的地方和哪些内容"变得越来越难.

我查看了互联网,只找到了一些通用的建议.我怀疑的是,你们中的一些长期C编码员已经提出了自己的模式和实践来简化这个过程并将邪恶置于你面前.

那么:您如何建议构建C程序以防止动态分配成为内存泄漏?

c malloc free

11
推荐指数
2
解决办法
1571
查看次数

ExtensionlessUrlHandler和"递归太深;堆栈溢出"

我正试图让一个开发人员的应用程序在我的机器上工作.解决方案是使用Web API在VS 2015中构建的,我使用64位IIS Express运行它.每个请求都返回500.0错误.请求跟踪日志说明了这一点:

1517.  -MODULE_SET_RESPONSE_ERROR_STATUS 
ModuleName    ManagedPipelineHandler 
Notification  EXECUTE_REQUEST_HANDLER 
HttpStatus    500 
HttpReason    Internal Server Error 
HttpSubStatus 0 
ErrorCode     Recursion too deep; the stack overflowed. (0x800703e9) 
ConfigExceptionInfo
Run Code Online (Sandbox Code Playgroud)

相关的配置部分如下所示:

<system.webServer>
<handlers>
  <remove name="OPTIONS" />
  <remove name="OPTIONSVerbHandler" />
  <remove name="TRACEVerbHandler" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

其他可能相关的事实:

  • 这台机器以前还没有用于网络托管,但我已经做了很多VS2013开发,并且上周只安装了2015年来运行这个项目.
  • 该项目确实包含一些C#6.0功能,即新的字符串插值好东西.

我怎么会开始调试这个?我在Google上获得了相关的点击率.

stack-overflow url-routing iis-express asp.net-web-api

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

使用HSQLDB的TDD - 删除外键

我正在使用HSQLDB进行数据层集成测试,这很棒.但是,我发现我的外键约束妨碍了我的测试.例如,要在一个表上测试一个简单的选择,我必须将虚拟数据插入另外五个表中.这让我想扔东西.

我在整个模型代码中都有JPA注释,并已配置Hibernate以在配置中重新创建模式(hbm2ddl.create-drop).生成表时,连接被正确解释为外键约束.

我想要的是:

  1. 最初不创建外键(理想,最干净),或
  2. 找到一种方法以编程方式删除数据库中的所有外键(有点hacky但会完成工作)

如果它有用,我使用Spring来自动测试这些测试.有问题的测试继承自AbstractTransactionalJUnit4SpringContextTests.

你怎么看?可以这样做吗?

tdd spring hibernate foreign-keys hsqldb

9
推荐指数
2
解决办法
6787
查看次数

如何使用NHibernate有效地进行TDD?

在我看来,大多数人在使用NHibernate时会针对像SQLite这样的内存中进程数据库编写测试.我已经启动并运行了,但我的第一个测试(使用NHibernate)总是需要3-4秒才能执行.下一个测试运行得更快.

我使用FluentNhibernate进行映射,但使用XML映射文件获得大致相同的时序.对我而言,3-4秒的延迟严重扰乱了我的流量.

推荐使用TDD和NHibernate的方式是什么?

是否可以模拟ISession对实际查询进行单元测试,还是只能在内存数据库中完成?

nhibernate tdd unit-testing fluent-nhibernate

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

任何可以在bitmapdata中解释步幅的功能吗?

        Bitmap bit1 = new Bitmap( bmpimg , width , height );
        Bitmap bit2 = new Bitmap( bmp , width , height );

        Bitmap bmpresult = new Bitmap( width , height );

        BitmapData data1 = bit1.LockBits( new Rectangle( 0 , 0 , bit1.Width , bit1.Height ) , ImageLockMode.ReadWrite , PixelFormat.Format24bppRgb );
        BitmapData data2 = bit2.LockBits( new Rectangle( 0 , 0 , bit2.Width , bit2.Height ) , ImageLockMode.ReadWrite , PixelFormat.Format24bppRgb );
        BitmapData data3 = bmpresult.LockBits( new Rectangle( 0 , 0 , bmpresult.Width …
Run Code Online (Sandbox Code Playgroud)

c#

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

自动化VS 2010"发布"配置文件替换

我正在使用Visual Studio 2010的"发布"功能的配置文件替换功能,如本文所述.我想使用MSBuild/Hudson自动执行此操作.有人知道怎么做这个吗?

我喜欢它是如何工作的,但如果我不能自动化它,我将不得不切换到XmlMassUpdate或类似的.

msbuild hudson visual-studio-2010

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

OpenCV(Emgu.CV) - 用alpha合成图像

我正在使用Emgu.CV来执行一些基本的图像处理和合成.我的图片被加载为Image<Bgra,Byte>.

问题#1:当我使用该Image<,>.Add()方法时,无论alpha值如何,图像总是混合在一起.相反,我希望它们在另一个上面合成,并使用包含的alpha通道来确定图像应该如何混合.因此,如果我调用image1.Add(image2)image2中的任何完全不透明的像素将完全覆盖来自image1的像素,而半透明像素将基于alpha值进行混合.

这就是我想用视觉形式做的事情.有一个城市形象,一些"透明洞"被切掉,后面有一只青蛙.它应该是这样的:

在此输入图像描述

这就是openCV产生的.

这就是OpenCV(Emgu.CV)在我称之为

如何使用OpenCV获得此效果?它会像打电话一样快Add()吗?

问题2:有没有办法就地执行这个组合,而不是每次调用都创建一个新的图像Add()?(例如image1.AddImageInPlace(image2)修改字节 image1?)

注意:在Emgu.CV中寻找答案,我正在使用它,因为它处理透视变形的程度.

opencv alphablending image-processing emgucv

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

实际上从发布中排除文件而不验证它

我正在尝试发布一个纯客户端项目 - 即普通的html/js/css文件,在开发期间由nodejs管理.Node创建一个非常深的路径(超过260个字符) - 在node_modules/...内部
虽然我已经完全排除了node_modules:

<ExcludeFoldersFromDeployment>test;node_modules</ExcludeFoldersFromDeployment>
Run Code Online (Sandbox Code Playgroud)

我尝试发布时仍会抛出异常:

Error   1   The "CollectFilesinFolder" task failed unexpectedly.
System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified     
file name must be less than 260 characters, and the directory name must be less than 248 characters.
at System.IO.PathHelper.GetFullPathName()
Run Code Online (Sandbox Code Playgroud)

我知道它特别是node_modules,因为手动删除它可以解决问题.
除此之外,排除工作正常('test'文件夹被排除在外).

如何防止这些文件被考虑用于发布?

msbuild publish visual-studio node.js node-modules

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

EasyMock:在编译时提供您不知道的参数

使用最新版本的EasyMock,我有一个方法,我需要存根.该方法接受一个object参数并返回void.

我正在测试的方法正在调用存根方法.没有惊喜.我的困难在于,作为模拟方法的参数提供的对象是由我正在测试的方法创建的.

我知道我可以解决这个问题,createNiceMock()但有没有办法明确地删除这个方法?

示例代码:

public interface IMockMe { 
    void doSomething(InnerObj obj);
}

public class TestMe {
    IMockMe mockMe; 

    public void testThisMethod() {
        InnerObj obj = new InnerObj();
        mockMe.doSomething(obj);
    }
}

class Tester {
    @Test
    public void testThatDarnedMethod() {
        IMockMe mocked = EasyMock.create(IMockMe.class);

        mocked.doSomething( /* what goes here? */);
        EasyMock.expectLastCall();

        TestMe testMe = new TestMe(mocked);
        testMe.testThisMethod();

    }
}
Run Code Online (Sandbox Code Playgroud)

java easymock

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

R树50,000英尺概述?

我正在研究一个学校项目,该项目涉及获取一个纬度/长点并找到已知地点列表中的前五个最近点.该列表将存储在内存中,需要注意的是我们必须选择"适当的数据结构" - 也就是说,我们不能简单地将所有位置存储在数组中并以线性方式逐个比较距离.老师建议将美国州的地点数据分组,以防止计算显然距离太远的地方的距离.我想我可以做得更好.

从我在网上的研究看来,似乎R-Tree或其变体之一可能是一个简洁的解决方案.不幸的是,这句话是我理解实际技术的原因,因为文学对于我的非学术头脑来说太过密集了.

  • 有人能给我一个非常高的概述,用于填充具有纬度/长度数据的R树的过程是什么,然后遍历树以找到给定点的那5个最近邻居?

  • 此外,该项目是在C中,我不必重新发明这个,所以如果你使用了R Tree的现有开源C实现,我会对你的经历感兴趣.

更新: 此博客文章描述了区域分区空间(如PR四叉树)的简单搜索算法.希望有助于未来的读者.

c gis r-tree

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