小编Jak*_*obJ的帖子

铸造代表

我对c#很陌生,所以我的问题可能很简单,但是这里有.

我一直在尝试与代表合作,并且有点坚持这个问题.

.....
    public delegate double delegateA();
    public delegate double delegateB();

    public static double myFunc()
    {
        return 0;
    }
    public static delegateA myTest()
    {
        return myFunc;
    }

    static void Main(string[] args)
    {
        delegateB myFuncDelegate;

        myFuncDelegate = myTest();  // <-- Error: Cannot implicitly convert type....
    }
.....
Run Code Online (Sandbox Code Playgroud)

我不知道如何使这个转换工作,除非使用相同的委托作为类型.但是在我的项目中,代表的名称会更加漂亮(因为它们存在于不同的类中).

希望您能够帮助我.

c#

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

"创建快捷方式"复选框

我正在使用WiX工具创建安装程序.

在创建"开始"菜单和"桌面"快捷方式时,我需要安装程序使其成为可选项.

像:[]你想创建一个开始菜单快捷方式吗?

那可能吗?

windows-installer wix shortcut

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

SerialPort port.open"端口'COM2'不存在."

我有一个很大的问题 SerialPort.Open();

我正在与USB虚拟COM端口(cdc)进行通信,它被列为COM2.

它在TeraTerm/hyperTerminal等中工作正常.但是当我尝试在C#中打开端口时,它给了我异常The port 'COM2' does not exist.

我使用该SerialPort.GetPortNames()函数获取端口名称,并且在调试时它看起来很好.

我试图将名称设置为硬编码,但没有运气.

现在真的很奇怪,它在某些PC上工作正常,而在其他PC上则失败了.在某些PC上它会一直失败,而在其他PC上它会失败10%的时间.

更奇怪的是它取决于所使用的USB端口,一些端口工作正常,其他端口失败(在同一台PC上!).

请问有人帮帮我吗?

.net c#

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

openssl无法使ENGINE_by_id()工作

我正在尝试为Openssl开发自己的动态引擎.

首先,我将通过加载其中一个包含的引擎来了解openssl.

我安装了openssl-1.0.1f.

配置如下:

./config -shared --prefix=/home/user/work/openssl --openssldir=/home/user/work/openssl no-asm -fPIC
Run Code Online (Sandbox Code Playgroud)

并做:

make and make install
Run Code Online (Sandbox Code Playgroud)

在此之后我使用以下方法测试了引擎:

./openssl engine -vvvv dynamic -pre SO_PATH:../lib/engines/libgost.so -pre ID:gost -pre LOAD
(dynamic) Dynamic engine loading support
[Success]: SO_PATH:../lib/engines/libgost.so
[Success]: ID:gost
[Success]: LOAD
Loaded: (gost) Reference implementation of GOST engine
 CRYPT_PARAMS: OID of default GOST 28147-89 parameters
      (input flags): STRING
Run Code Online (Sandbox Code Playgroud)

这似乎没问题.

现在我正在尝试在一个非常简单的c程序中加载引擎,但是我无法让ENGINE_by_id返回除NULL之外的任何东西.我已经尝试了所有可以想到的东西,但我完全陷入困境.

以下是我的代码:

#include <openssl/rsa.h>
#include <openssl/pem.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/engine.h>
#include <stdio.h>
#include <string.h>

int main() {

    ENGINE_load_dynamic();
    ENGINE *eng = ENGINE_by_id("dynamic");

    printf("Error: …
Run Code Online (Sandbox Code Playgroud)

c openssl

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

时间限制

我正在设计一个用于与USB芯片通信的ULPI接口.
但是我遇到了一些关于时序约束的问题.

数据在时钟的上升沿输出,在下降沿采样.

我可以看到(使用Post-Route)从时钟上升沿到数据输出有大约6ns"最佳情况可实现的延迟"是有效的.

如果我想要一个较小的延迟,我应该重写我的代码,例如延迟我的时钟,直到上升沿适合数据输出?

我知道上面的解决方案可能并不好,因为它将同时依赖于fpga设备和路由......但还有其他选择吗?

fpga

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

使 OpenSSL 生成确定性密钥

我试图让 openssl 生成确定性的私有和公共 RSA 密钥对。这个想法是我用一些设备相关数据的哈希填充我的种子缓冲区,并将其用作种子。但是播种 RAND 似乎不起作用,密钥仍然是随机的。

由于种种原因,我不想只生成一次密钥,然后存储它,我只希望私钥存在于内存中。

RAND_seed(seedbuf, sizeof(seedbuf));

bne = BN_new();
if (1 != BN_set_word(bne,e)) {
    goto free_stuff;
}

keypair = RSA_new();
if(1 != RSA_generate_key_ex(keypair, KEY_LENGTH, bne, NULL)) {
    goto free_stuff;
}
Run Code Online (Sandbox Code Playgroud)

所以基本上我希望“RSA_generate_key_ex”函数返回相同的密钥对,每次用相同的输入播种。

random openssl

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

双向数据总线设计

我需要通过双向数据总线(ULPI)与芯片通信.

据我所知,数据在时钟上升沿上在ULPI总线上移出,并在下降时钟边沿读取.我的问题是,当读取寄存器时,我首先需要对上升沿敏感(将命令写入数据总线上的芯片),然后在从芯片读取寄存器输出到总线时下降沿.

我不清楚如何设计这个最好的方法.

我尝试了一个有一个case语句的进程,但为了这个工作,我的进程需要对上升和下降边缘敏感,我认为这不好.或者它确实可以吗?

vhdl

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

嵌入式Linux的Linux驱动程序

我想将一些USB设备连接到我的嵌入式Linux主板上.它是运行嵌入式Linux的TI-ARM处理器,但我想它可能是任何嵌入式Linux板.

如果我购买了具有Linux支持/驱动程序的USB设备,是否可以重新编译此驱动程序以使用ARM体系结构?(而不是Windows等).

linux linux-device-driver embedded-linux

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

卸载时运行程序

我想在卸载我的软件时运行一个程序,这是一个简单的表格,应该收集一些关于人们为什么卸载我的软件的反馈。

我发现了一些在某种程度上有效的 WiX 示例。

它与标准的 Windows 程序(记事本)一起工作得很好,但是当我尝试运行我自己的程序时,它不起作用。我认为问题在于程序在运行之前被删除。

我试图打印日志,但他们没有给我任何关于该做什么的线索。

到目前为止我的代码:

<CustomAction Id="LaunchFeedBackForm" 
 ExeCommand="notepad.exe" Directory="INSTALLDIR" 
 Return="asyncWait" >REMOVE="ALL"</CustomAction>


<InstallExecuteSequence>
    <Custom Action="LaunchFeedBackForm" After="InstallValidate"/>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

所以我需要以某种方式停止卸载过程或其他什么,直到用户关闭反馈表。表单关闭后,它应该继续并删除所有软件,包括反馈表单程序。

wix

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

在Spartan 3中的进程之间移动数据

我有两个进程A和B,每个进程都有自己的时钟输入.

时钟频率略有不同,因此不同步.

过程A从IC采样数据,该数据需要传递给过程B,然后过程B需要将该数据写入另一个IC.

我目前的解决方案是在进程A和B之间使用一些简单的握手信号.内存在进程A(非块内存)中被声明为分布式RAM(128Bytes作为std_logic_vector(7 downto 0)的数组).

我正在使用Xilinx的Spartan 3AN和ISE Webpack.

但这是正确的方法吗?

我在某地读到Spartan 3有双端口块存储器支持两个时钟,所以这会更正确吗?

我问的原因是因为我的设计行为不可预测,在这种情况下我只是讨厌魔术.:-)

vhdl xilinx

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

VHDL IEEE标准库与组件

我正在为Xilinx FPGA开发一个VHDL项目,并且发现自己处在一条十字路口.

例如,我需要添加两个信号(C = A + B),并发现Xilinx具有可以生成可以完成工作的组件的工具.

但这也可以用标准VHDL实现:C <= A + B.

如果我使用标准VHDL,代码应该是可移植的,但这会降低吞吐量吗?

我的意思是,特殊组件是否在FPGA等中使用DSP功能,这使得它们更快,或者合成器通常能够处理这个问题吗?

vhdl hdl

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