小编Ste*_*ini的帖子

在Linux上用于rpath规范的@loader_path等效于什么?

在osx loader上,@loader_path解析为通用二进制对象的位置,而@executable_path解析为可执行文件的位置。在Linux上,显然只有$ ORIGIN,它可以解析为可执行路径。linux loader中是否有隐藏功能为通用ELF对象指定动态搜索路径?也许$ ORIGIN对于此类对象的行为有所不同?

Linux也有$ LIB和$ PLATFORM,但是它们没有提供我所需要的。

linux loader

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

如何在Windows上为C中的访问冲突错误安装信号处理程序?

我有一个错误的应用程序在Windows上引发访问冲突.这会弹出Windows上的"崩溃对话框",我不希望它出现在用户的计算机上.在Linux上,我会为SIGSEGV安装一个信号处理程序,只在sighandler函数中安装exit(),但我在Windows上,而且我对Windows API几乎一无所知.

据我所知,当发生段错误时,Windows会抛出异常ACCESS_VIOLATION.我认为这是一个常规的C++异常,可以捕获它,但我需要修补的程序是C语言,而不是C++.如何在Windows上安装"信号处理程序"?(假设信号的概念存在,考虑到signal()和朋友是POSIX API)?此API是作为核心API实现的,还是POSIX兼容层的一部分,可能不会出现在vanilla部署中?

我在Win7上使用VS2008

c windows winapi

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

fortran单位编号标准是如何形成的?

在fortran中,stderr的单位为0。Stdin的单位为5,stdout的单位为6。就Google看来,这似乎是一个明智的决定,但不清楚为什么他们选择这样做。为什么不选择1和2?在旧的fortran编译器上将1-4移至stdin并移至5和6的用途是什么?

fortran

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

这两个python代码在使用并发期货时是否等效?

我有两段代码,代表了我要调试的更复杂的场景。我想知道它们在技术上是否等效,如果不是,为什么。

第一:

import time                                                                               
from concurrent.futures import ThreadPoolExecutor                                         

def cb(res):
    print("done", res)

def foo():
    time.sleep(3)
    res = 5
    cb(res)
    return res

with ThreadPoolExecutor(max_workers=2) as executor:
    future = executor.submit(foo)
    print(future.result())

Run Code Online (Sandbox Code Playgroud)

第二个:

def cb2(fut):
    print("done", fut.result())

def foo2():
    time.sleep(3)
    return 5

with ThreadPoolExecutor(max_workers=2) as executor:
    future = executor.submit(foo2)
    future.add_done_callback(cb2)
    print(future.result())

Run Code Online (Sandbox Code Playgroud)

问题的核心如下:我需要调用同步,慢速操作(此处由睡眠表示)。该操作完成后,我必须执行后续的快速操作。在第一个代码中,我将这些操作放在同步速度较慢的操作之后。在第二个代码中,我将其放在回调中。

在实现方面,我怀疑将来会创建一个辅助线程,在该辅助线程中运行代码,并且该辅助线程将在同步慢速操作时停止。一旦此操作完成,辅助线程将继续运行,并且可以通过执行后续代码或调用回调来继续运行。我看不到这两段代码没有什么区别(除了添加回调允许从外部注入代码,增加了灵活性之外),但是我可能错了,因此提出了问题。

请注意,我确实知道,在第一种情况下,当未来仍未解决时,将调用打印,在第二种情况下,将调用打印,但是假定状态无关紧要。

python multithreading

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

如何测试数据框内容?

我有一个返回数据帧的例程。我想检查其值是否合理。使用testthatI have expect_equal,但是我不确定它是否适用于data.frames。我试图这样做,但是没有用

testthat::expect_equal(result$ORs[1,1:3], c(1.114308, 0.5406599, 2.296604), tolerance=1.0e-6)
Run Code Online (Sandbox Code Playgroud)

这是我收到的消息

?????????????????????????????????????????????????
test-xxx.R:19: failure: basic functionality
result$ORs[1, 1:3] not equal to c(1.114308, 0.5406599, 2.296604).
Modes: list, numeric
names for target but not for current
Attributes: < Modes: list, NULL >
Attributes: < Lengths: 2, 0 >
Attributes: < names for target but not for current >
Attributes: < current is not list-like >
?????????????????????????????????????????????????

?? Results ??????????????????????????????????????
Duration: 0.1 s
Run Code Online (Sandbox Code Playgroud)

r testthat

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

如果指定了多个 repos,install.packages 的行为是什么?

从文档中不清楚如果在 install.packages 中指定了多个 repos 是什么行为。我的直觉告诉我它会尝试第一个 repo,如果找不到包,它会尝试第二个,依此类推。不幸的是,情况似乎并非如此。我看到的是只尝试了第一个,并返回了错误(因为 repo 不包含包)。与不同的条目相比,“CRAN”条目的处理方式也不够清晰。

我想要的是一个带有我自己的包(首先指定)的本地 CRAN,以及带有更大包集(第二个指定)的全局 CRAN,并且能够从本地安装,除非找不到包(并且在那个包中)情况下,它将回落到全局)

这是我得到的错误

> setRepositories(graphics = FALSE, ind=NULL, addURLs=c(ciccio="file:qs-cran", CRAN="https://mran.microsoft.com/snapshot/2018-08-01"))
> install.packages("zizzio")
Error in read.dcf(file = tmpf) : cannot open the connection
In addition: Warning messages:
1: package ‘zizzio’ is not available (for R version 3.5.3) 
2: In read.dcf(file = tmpf) :
  cannot open compressed file 'qs-cran/bin/macosx/el-capitan/contrib/3.5/PACKAGES', probable reason 'No such file or directory'
> install.packages("zizzio", type="source")
Warning message:
package ‘zizzio’ is not available (for R version 3.5.3) 
Run Code Online (Sandbox Code Playgroud)

r

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

R S3 类别和名称消歧

与S4类的这个主题的帖子类似,我想知道S3类的解决方法和冲突预防。

让我举个例子。我创建了两个包:pkga 和 pkgb。两者恰好都有一个 S3 类构造函数,返回一个类具有相同名称的对象myclass

#' @export
myclass_instance <- function() {
  structure(list(name = "pkga"), class = c("myclass"))
}


#' @export
whatever <- function(obj) {
  UseMethod("whatever", obj)
}

#' @export
whatever.default <- function(obj) {
  print("pkga::whatever.default")
}

#' @export
whatever.myclass <- function(obj) {
  print("pkga::whatever.myclass")
}

Run Code Online (Sandbox Code Playgroud)

对于pkgb

#' @export
myclass_instance <- function() {
  structure(list(name = "pkgb"), class = c("myclass"))
}


#' @export
whatever <- function(obj) {
  UseMethod("whatever", obj)
}


#' @export
whatever.default <- function(obj) {
  print("pkgb::whatever.default")
}

#' @export
whatever.myclass …
Run Code Online (Sandbox Code Playgroud)

r

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

Catmull-Rom splines在python中

在python中有一个库或函数来从三个点计算Catmull-Rom样条曲线吗?

我最终需要的是沿着样条曲线的点的x,y坐标,只要它们沿着样条曲线始终等于给定量t(例如,样条曲线长度为3个单位,我想要x,y坐标样条长度为0,1,2和3)

没什么好激动的.我是自己写的,但是如果你发现了一些不错的东西,那么测试(或节省时间)会很棒

python math spline

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

以标准化方式表示维度单位

假设您要写入数据库中的东西长30米,或50英尺,或温度为50开尔文,速度为每小时50公里.你会如何代表这些单位?

澄清两点:

  • 任何类型的单位,而不是预定义的,明确定义的单位.
  • 我的问题更多地与单位本体论的存在有关.我接受了数据库示例,因为它是我第一次想到的,但是用XML或JSON表示单位的场景同样可能.

database standards units-of-measurement

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

返回列表的方法中的复数/单数命名

这似乎是一个微不足道的观点,直到你意识到你需要一致性.我不是英语母语人士,我更喜欢问语法和风格.在这些方法名称中哪一个必须首选,返回一个URI列表,每个URI与一个对象相关联?

objectUriList()
objectsUriList()
objectUrisList()
objectsUrisList()
Run Code Online (Sandbox Code Playgroud)

另外,您是否认为好的样式可以明确返回的对象是方法名称中的列表.在任何情况下,或许类似objectUris()(或其正确的形式)都会很好直观.

coding-style naming-conventions

4
推荐指数
2
解决办法
3331
查看次数