小编Use*_*291的帖子

分配二维数组的怪异方式?

在一个项目中,有人推动了这一行:

double (*e)[n+1] = malloc((n+1) * sizeof(*e));
Run Code Online (Sandbox Code Playgroud)

据推测,这会创建一个(n + 1)*(n + 1)双倍的二维数组.

据说,我说,因为到目前为止,我没有人问我能告诉我它的作用,确切地说,它起源于何处或为什么它应该起作用(据称,它确实如此,但我还没有购买它).

也许我错过了一些明显的东西,但如果有人能够向我解释上述内容,我会很感激.因为就个人而言,如果我们使用我们真正理解的东西,我会感觉好多了.

c arrays malloc allocation multidimensional-array

110
推荐指数
3
解决办法
4766
查看次数

PyQt5 - 如何启动设计师

感觉真的很蠢,现在,但标题说明了一切:

你如何启动QtDesigner?

我安装了PyQt5via pip,我相信已经确定了它已经安装的目录

C:\Users\%username%\AppData\Local\Programs\Python\Python36\Lib\site-packages\PyQt5
Run Code Online (Sandbox Code Playgroud)

怎么办?有很多.pyd文件,一些.dll也是,但没有可执行文件(好吧,除了QtWebEngineProcess.exein ...\site-packages\PyQt5\Qt\bin,但这听起来不像我正在寻找的.

python qt qt-designer pyqt5

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

在TensorFlow中使用共享GPU内存?

所以我在一台带有GeForce GTX 980显卡的Windows 10机器上安装了TensorFlow的GPU版本.

不可否认,我对显卡知之甚少,但据dxdiag说它确实有:

4060MB 专用存储器(VRAM)和;

8163MB 共享内存

总计约12224MB.

然而,我注意到,这种"共享"记忆似乎毫无用处.当我开始训练模型时,VRAM将填满,如果内存需求超过这些4GB,TensorFlow将因"资源耗尽"错误消息而崩溃.

当然,我可以通过选择适当低的批量大小来防止达到这一点,但我想知道是否有办法利用这些"额外" 8GB的RAM,或者如果是这样,TensorFlow需要内存专用.

shared-memory vram tensorflow

17
推荐指数
2
解决办法
9128
查看次数

``continue``打破标签放置

这很好用:

#include <stdio.h>

int main(){
    volatile int abort_counter = 0;
    volatile int i = 0;
    while (i < 100000000) {
        __asm__ ("xbegin ABORT");
        i++;
        __asm__ ("xend");
        __asm__ ("ABORT:");
        ++abort_counter;
    }

    printf("%d\n", i);
    printf("nof abort-retries: %d\n",abort_counter-i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,我最初写的是

#include <stdio.h>

int main(){
    volatile int abort_counter = 0;
    volatile int i = 0;
    while (i < 100000000) {
        __asm__ ("xbegin ABORT");
        i++;
        __asm__ ("xend");
        continue;
        __asm__ ("ABORT:");
        ++abort_counter;
    }

    printf("%d\n", i);
    printf("nof abort-retries: %d\n",abort_counter);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但这导致了

/tmp/cchmn6a6.o: In …
Run Code Online (Sandbox Code Playgroud)

c gcc continue inline-assembly while-loop

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

Scala错误的前向引用错误

private def foo(a:A):B = a match{
    case A(...) =>
        val x = a.b //error: wrong forward reference a
        ...
}
Run Code Online (Sandbox Code Playgroud)

在A(...)中没有提到b的情况下,如果这很重要.

我在谷歌上试过我的运气,但我似乎只发现有错误涉及前向引用的帖子,但没有解释这个特定错误的实际含义.

如果有人可以帮助我,我将不胜感激.

error-handling scala compiler-errors

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

有没有办法在没有实体的情况下使用“@Procedure”注释?

所以我想要一个“Void-Repository”,通过它可以访问不一定对实体进行操作的存储过程。

@Repository
public interface StoredProceduresRepository extends CrudRepository<Void, Long> {

    @Procedure("my_answer_giver")
    String getMyAnswer(@Param("input") String input);
}
Run Code Online (Sandbox Code Playgroud)

但这当然行不通,因为CrudRepository期望Void成为一个实体。

有没有一种方法可以使用@Procedure注释而无需创建虚拟实体,或者我是否坚持使用使用EntityManager通过准备好的语句进行查询的实现类?

因为说实话,这很丑陋:

@Repository
public class StoredProceduresRepository {

    @PersistenceContext
    EntityManager em;

    public String getMyAnswer(String input) {
        Query myAnswerGiver = em
            .createStoredProcedureQuery("my_answer_giver")
            .registerStoredProcedureParameter("input", String.class, ParameterMode.IN)
            .setParameter("input", input);
        Object result = ((Object[]) myAnswerGiver.getSingleResult())[0];
        return (String) result;
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring stored-procedures spring-data-jpa spring-repositories

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

Scala - 处理“方法的多个重载替代方案...定义默认参数”

假设我有这样的设置:

sealed trait Annotation {
    def notes : Seq[String]
}

trait Something extends Annotation{
    //do something funny
}

case class A(val i:Int)(val notes:Seq[String] = Nil) extends Something
object A{
    def apply(a:A)(notes:Seq[String] = Nil):A = A(a.i)(notes)
}

case class B(val b:Boolean)(val notes:Seq[String] = Nil) extends Something
object B{
    def apply(b:B)(notes:Seq[String] = Nil):B = B(b.b)(notes)
}

case class C(val s:String)(val notes:Seq[String] = Nil) extends Something
object C{
    def apply(c:C)(notes:Seq[String] = Nil) :C = C(c.s)(notes)
}
Run Code Online (Sandbox Code Playgroud)

尝试编译这将导致

Main.scala:10: error: in object …
Run Code Online (Sandbox Code Playgroud)

methods scala overloading compiler-errors

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

Scala IDE警告:"匿名函数可转换为方法值"

假设我想为方法创建一个别名:

def foo = bar(_)
Run Code Online (Sandbox Code Playgroud)

这将警告

匿名函数可转换为方法值

而且我不太确定这是什么意思,因为当我尝试我认为这可能意味着什么时:

def foo = bar
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

缺少方法栏的参数(a:A)

无法解析具有此类签名的参考栏.

methods alias scala anonymous-function

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

Maven Failsafe:集成测试的 NoClassDefFoundError

设置:Spring Boot 应用程序中的 Kotlin 集成测试。

当我使用 IntelliJ 运行测试时,测试工作正常。但是,当我尝试使用 Maven 运行集成测试时:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.19.1:integration-test (default) on project myapp: Execution default of goal org.apache.maven.plugins:maven-failsafe-plugin:2.19.1:integration-test failed: There was an error in the forked process
[ERROR] java.lang.NoClassDefFoundError: ch/cypherk/myapp/service/CustomerService
[ERROR]         at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
[ERROR]         at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3138)
[ERROR]         at java.base/java.lang.Class.getConstructor0(Class.java:3343)
[ERROR]         at java.base/java.lang.Class.getConstructor(Class.java:2152)
[ERROR]         at org.apache.maven.surefire.junit.PojoAndJUnit3Checker.isPojoTest(PojoAndJUnit3Checker.java:51)
...
Run Code Online (Sandbox Code Playgroud)

这很烦人,因为我需要竹子来运行这些该死的东西。

这是一个接口,是的,它已编译, maven 目录中CustomerService有一个相应的文件,并且 IntelliJ 设置为使用相同的文件。.class./target

无法完全弄清楚为什么会失败,并且希望获得该插件的一些帮助。

相关摘录自pom.xml

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.19.1:integration-test (default) on project myapp: Execution default …
Run Code Online (Sandbox Code Playgroud)

java integration-testing maven maven-surefire-plugin kotlin

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

具有可相交类型的类型别名

假设我有一个界面HasId和另一个HasResponsiblePerson. 我现在对实现这两者的实例感兴趣。

IE

typealias AssignableEntity = HasId & HasResponsiblePerson

class Foo {

   val entity: AssignableEntity
}
Run Code Online (Sandbox Code Playgroud)

但这失败了,因为

交集类型仅支持绝对不可为 null 的类型:左侧部分应该是具有可为 null 边界的类型参数

当然,我可以定义一个新接口

interface AssignableEntity: HasId, HasResponsiblePerson
Run Code Online (Sandbox Code Playgroud)

但每次遇到我感兴趣的新接口组合时,我都必须定义新接口,最终会得到大量几乎无用的接口。

有办法做我想做的事吗?

kotlin

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