问题列表 - 第31196页

Scala双重定义(2种方法具有相同类型的擦除)

我在scala中写了这个,它不会编译:

class TestDoubleDef{
  def foo(p:List[String]) = {}
  def foo(p:List[Int]) = {}
}
Run Code Online (Sandbox Code Playgroud)

编译通知:

[error] double definition:
[error] method foo:(List[String])Unit and
[error] method foo:(List[Int])Unit at line 120
[error] have same type after erasure: (List)Unit
Run Code Online (Sandbox Code Playgroud)

我知道JVM没有对泛型的原生支持,所以我理解这个错误.

我可以写包装List[String],List[Int]但我很懒:)

我很怀疑,但是,有没有另一种方式表达List[String]不是同一种类型List[Int]

谢谢.

scala overloading compilation typeclass type-erasure

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

如何使用SD卡以48 ksamples/s记录16位数据?

背景

我的电路板在SPI上集成了STM32微控制器和SD/MMC卡,并以48 ksamples/s采样模拟数据.我正在使用Keil Real-time Library RTX内核和ELM FatFs.

我有一个高优先级的任务,通过DMA以40个样本(40 x 16位)的块来捕获模拟数据; 数据通过长度为128的队列(构成大约107毫秒的样本缓冲)传递给第二个低优先级任务,该任务将样本块整理成2560字节缓冲区(这是512字节SD扇区大小和40个样本块大小).当此缓冲区已满(32个块或约27毫秒)时,数据将写入文件系统.

意见

通过检测代码,我可以看到每32个块,数据被写入并且写入大约需要6 ms.这持续到(在FAT16上)文件大小达到1 MB,当写操作需要440 ms时,此时队列填充并且中止日志记录.如果我将卡格式化为FAT32,则"long-write"事件之前的文件大小为4 MB.

发生这种情况的文件大小在FAT16和FAT32之间发生变化的事实告诉我,它不是卡的限制,而是文件系统在1 MB或4 MB边界上执行需要额外时间的事情.

似乎我的任务正在及时安排,并且ELM FatFs代码在1 MB(或FAT32为4)边界消耗时间.

这个问题

有解释或解决方案吗?这是一个FAT问题,或者更确切地说是ELM的FatFs代码?

我考虑过使用多个文件,但根据我的经验,FAT不能很好地处理单个目录中的大量文件,这也会失败.根本不使用文件系统并且写入原始卡是可能的,但理想情况下我想在带有标准驱动程序且没有特殊软件的PC上读取数据.

我想到尝试编译器优化来缩短写入时间; 这似乎有效果,但写入时间似乎变化多了.在-O2我确实得到了一个8 MB的文件,但结果不一致.我现在不确定文件大小和失败点之间是否存在直接关联; 我已经看到它在不同的文件长度上以这种方式失败,没有特定的边界.也许这是卡性能问题.

我进一步对代码进行了检测并采用了一种分治方法.这种观察结果可能会使问题过时,以前所有的观察结果都是错误的或是红色的.

我最后将其缩小为一个多扇区写入(CMD25)的实例,其中卡的"等待就绪"轮询对于块5中的前三个扇区有时需要174 ms.等待就绪的超时设置为500毫秒,所以它会很开心 - 等待那么长时间.在一般情况下,迭代地使用CMD24(单扇区写入)慢得多 - 每个扇区140毫秒 - 而不是偶尔.

所以这似乎是卡的一种行为.我将努力尝试一系列卡SD和MMC.

filesystems embedded sd-card fat

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

在jstl中使用javascript变量

我想使用jstl在javascript中迭代HashMap.有可能这样做吗?

function checkSelection(group,tvalue){
alert(group);
alert(tvalue);

<c:forEach items="${configuredGroupMap}" var="groupMap">
    alert("aa<c:out value="${groupMap.key}"/>");
    <c:if test="${groupMap.key==group}">
        alert("t<c:out value="${groupMap.key}"/>");
        <c:if test="${groupMap.value==tvalue}">
            alert("equal");
        </c:if>
    </c:if>
</c:forEach>
}
Run Code Online (Sandbox Code Playgroud)

它不会进入内部

 <c:if test="${groupMap.key==group}">
Run Code Online (Sandbox Code Playgroud)

javascript java jsp jstl

9
推荐指数
3
解决办法
6万
查看次数

快速访问std :: map的元素

当我std::map使用find或访问元素时,你知道它的性能是否有任何差异operator []

一个返回一个iterator,另一个返回const ref到对象.

由于STL背后的所有背后,哪一个可能更快?

c++ stl

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

类没有命名类型C++

在C++中,错误意味着什么"类不命名类型"?

c++

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

PostgreSQL递归

我需要一个递归查询的帮助.假设如下表:

CREATE TEMPORARY TABLE tree (
    id        integer PRIMARY KEY,
    parent_id integer NOT NULL,
    name      varchar(50)
);    

INSERT INTO tree (id, parent_id, name) VALUES (3, 0, 'Peter'), (2,0, 'Thomas'), (5,2, 'David'), (1, 0, 'Rob'), (8, 0, 'Brian');
Run Code Online (Sandbox Code Playgroud)

我可以使用以下查询检索所有人及其子女的列表:

WITH RECURSIVE recursetree(id, parent_id) AS (
    SELECT id, parent_id FROM tree WHERE parent_id = 0
  UNION
    SELECT t.id, t.parent_id
    FROM tree t
    JOIN recursetree rt ON rt.id = t.parent_id
  )
SELECT * FROM recursetree;
Run Code Online (Sandbox Code Playgroud)

如何按顺序列出它们,还可以按名称对第一级项目进行排序?例如,所需的输出将是:

id, parent_id, name    
8, 0, "Brian"
3, …
Run Code Online (Sandbox Code Playgroud)

sql postgresql recursion

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

使用Visual Studio 2010在Vista上安装boost 1.42(或任何其他版本)

我想在带有Vista和Visual Studio 2010的ma PC上安装boost库.

首先从官方网站下载升级1.42并解压缩到c:\ boost_1_42_0然后我调用了bootstrap.bat但是我得到了一些错误:

c:\boost_1_42_0>bootstrap.bat
Building Boost.Jam build engine

Failed to build Boost.Jam build engine.
Please consult bjam.log for furter diagnostics.

You can try to obtain a prebuilt binary from

   http://sf.net/project/showfiles.php?group_id=7586&package_id=72941

Also, you can file an issue at http://svn.boost.org
Please attach bjam.log in that case.

在bjam.log中我发现:

Setting environment for using Microsoft Visual Studio 2010 x86 tools.
ERROR: Cannot determine the location of the VS Common Tools folder.
###
### Using 'vc10' toolset.
###

c:\boost_1_42_0\tools\jam\src>if exist bootstrap …

c++ boost build-process

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

如何在asp.net mvc2中的控制器外部获取请求对象

有没有办法在Html Helper方法中获取请求对象.

我想知道是否存在使用默认Image替换不存在的文件的文件.因此,我需要Request Object和它的Method MapPath(路径).

有人有个主意吗?

托马斯

html-helper asp.net-mvc-2

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

在C中复制包含char指针的两个结构

复制包含char数组的两个结构的标准方法是什么?

这是一些代码:

#include stdio.h>
#include string.h>
#include stdlib.h>

typedef struct {
    char* name;
    char* surname;
} person;

int main(void){
    person p1;
    person p2;

    p1.name     = (char*)malloc(5);
    p1.surname  = (char*)malloc(5);

    strcpy(p1.name, "AAAA");
    strcpy(p1.surname, "BBBB");

    memcpy(&p2, &p1, sizeof(person));
    free(p1.name);
    printf("%s\n", p2.name);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

该行printf("%s\n", p2.name);不打印,因为我释放了缓冲区.

我的结构的问题是它们比struct更大person.它们包含数百个char指针,我必须逐个复制每个成员.

是否有另一种方法来复制包含char数组的两个结构而不使用mallocstrcpy为每个成员?

c struct pointers

12
推荐指数
2
解决办法
7235
查看次数

JAX-WS与JAX-RPC

我写了2个webservices,一个使用Jax-WS,另一个使用Jax-RPC.他们只返回一个字符串.

我用jMeter对它进行了压力测试,奇怪的是,因此Jax-RPC的速度要快一些.

在性能方面(响应时间,CPU时间,堆),我何时真正从Jax-WS中获利?我该如何证明呢?

谢谢你的时间!=)

java jax-ws jax-rpc java-ee websphere-7

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