小编spk*_*ira的帖子

在C#中计算大文件的MD5SUM

我使用以下代码来计算文件的MD5SUM -

byte[] b = System.IO.File.ReadAllBytes(file);
string sum = BitConverter.ToString(new MD5CryptoServiceProvider().ComputeHash(b));
Run Code Online (Sandbox Code Playgroud)

这通常工作正常,但如果我遇到一个大文件(~1GB) - 例如ISO映像或DVD VOB文件 - 我得到一个Out of Memory异常.

虽然,我能够在cygwin中为大约10秒的同一文件计算MD5SUM.

请建议如何让我的程序中的大文件工作.

谢谢

c# hash md5 large-files

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

Linux中可执行文件中的对象文件

有没有办法找到在Linux中生成当前可执行文件的目标文件(RHEL是特定的).据我所知,可以使用"nm"查找导出的符号,"ldd"查找依赖的共享对象.

但是我找不到命令来查找由哪个可执行文件组成的对象(.o)文件的名称.可能吗?

linux executable object-files

8
推荐指数
2
解决办法
3823
查看次数

Orber(Erlang ORB)在TAO orb抛出时无法捕获用户定义的异常

我有一个C++ CORBA服务器,它实现了抛出用户定义的异常的接口.

当客户端和服务器都在C++中实现时(使用TAO orb和omniORB进行测试),我很容易捕获到特定的异常.

但是当我从Erlang(使用orber)调用相同的方法时,异常显示为一般异常,而不是特定的用户定义异常.

为了测试这个,我只使用了一个简单的IDL -

interface Messenger {

    exception cirrus_error{
            short error_code;
            string error_desc;
    };

    boolean send_message(in string user_name,
                       in string subject,
                       inout string message) raises (cirrus_error);
};
Run Code Online (Sandbox Code Playgroud)

如果服务器和客户端都在C++中 - 我得到的异常是(对于测试我将其编码为始终抛出用户异常)

CORBA exception: cirrus_error (IDL:Messenger/cirrus_error:1.0)
Run Code Online (Sandbox Code Playgroud)

但是当通过Erlang调用时 - 我得到了 -

** exception throw: {'EXCEPTION',{'UNKNOWN',[],1330446337,'COMPLETED_MAYBE'}}
 in function  corba:raise/1
Run Code Online (Sandbox Code Playgroud)

在说明Orber应用程序以启用正确行为时,是否需要执行一些特殊操作?

编辑 - 这是我从erlang调用服务器的方式 -

在Erlang提示符下,这就是我所做的 -

1> orber:jump_start().

2> O = corba:string_to_object(IORStr).

3> 'Messenger':send_message(O, "s", "t", "f").
** exception throw: {'EXCEPTION',{'UNKNOWN',[],1330446337,'COMPLETED_MAYBE'}}
     in function  corba:raise/1 
Run Code Online (Sandbox Code Playgroud)

erlang tao omniorb

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

标签 统计

c# ×1

erlang ×1

executable ×1

hash ×1

large-files ×1

linux ×1

md5 ×1

object-files ×1

omniorb ×1

tao ×1