小编rob*_*ert的帖子

Out-Host 是否正在缓冲?

我有一个函数,我可以在其中使用&操作员调用应用程序。该应用程序生成几行命令行输出,下载一些文件,并返回一个字符串:

& "app.exe" | Out-Host
$var = ...
return $var
Run Code Online (Sandbox Code Playgroud)

看来,控制台上app.exe只会出现终止后产生的输出app.exe。用户没有任何实时信息正在下载哪个文件。app.exe有没有办法在运行时不断更新控制台?

powershell

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

如何使 MemorySanitizer 在出现错误后不停止

Clang 的文档说“默认情况下,MemorySanitizer 在第一次检测到错误时退出”。

有人知道如何使 MemorySanitizer 不因错误而停止吗?上面这句话表明有一种方法,但我在文档中没有找到任何内容。

clang sanitizer clang++ memory-sanitizer

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

文件权限为0666,但root也打不开

我正在尝试flock

#include <sys/types.h>
#include <sys/stat.h>
#include <sys/file.h>
#include <fcntl.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main(){
    mode_t m = umask(0);
    int fd = open("/tmp/test.lock", O_RDWR | O_CREAT, 0666);
    if(fd == -1){
        printf("open failed. errno: %d, %s\n", errno, strerror(errno));
    }
    umask(m);
    int res = flock(fd, LOCK_EX);
    if(res != 0){
        printf("flock failed. errno: %d, %s\n", errno, strerror(errno));
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用 运行可执行文件sudo,那么通常不会出现错误。但是,如果我以普通用户身份运行,我会得到以下sudo过程open failed. errno: 13, Permission denied::

#include <sys/types.h>
#include <sys/stat.h>
#include …
Run Code Online (Sandbox Code Playgroud)

c linux sudo file-permissions

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

R的最大可能性

我是R和统计学的新人.我正在玩最大似然估计,我得到一些不正确的结果.我想用简单的线性函数建模x:

x<-apply(matrix(seq(1,10,1), nrow=1), 1, function(x) 10*x+runif(10,-3,3))
LL<-function(a,b){
    R=apply(x,1,function(y) a*y+b)
    -sum(log(R))
    }
mle(LL, start=list(a=10, b=0))
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:

Coefficients:
    a         b 
43571.957  1338.345 
Run Code Online (Sandbox Code Playgroud)

而不是~10,b~0.

我根据Spacedman的建议修改了代码:

set.seed(99)
x<-apply(matrix(seq(1,10,1), nrow=1), 1, function(x) 10*x+runif(10,-3,3))
LL<-function(a,b){
R = x[,1] - a*(1:10) + b
-sum(R^2)
}
library(stats4)
mle(LL, start=list(a=11, b=0.3))

Error in solve.default(oout$hessian) : 
Lapack routine dgesv: system is exactly singular: U[1,1] = 0
Run Code Online (Sandbox Code Playgroud)

我不知道如何摆脱这个错误.更改视图并再次生成x值无济于事.

statistics r

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

从内联汇编修改RIP寄存器

我正在尝试修改rip寄存器(只是为了好玩).buffer应该是一个内存地址,所以我不知道为什么会得到Error: operand type mismatch for 'movq'

#include <stdio.h>
#include <stdlib.h> 

int main(){
        char* buffer;
        buffer = (char*) malloc(8*sizeof(char));
        asm volatile("movq %0, %%rip \n" : : "r" (buffer));
        free(buffer);
}
Run Code Online (Sandbox Code Playgroud)

c assembly x86-64

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

bc(standard_in)1:语法错误

我试图找到myfunc可执行文件中的位置:

#include <stdio.h>

void myfunc(){
    printf("Hello");
}

int main(){

}
Run Code Online (Sandbox Code Playgroud)

我写了这个脚本:

#!/bin/bash -x
start=$(nm -S a.out|grep -w _start)
start_addr=$(echo $start | awk '{print $1}')
myfun=$(nm -S a.out|grep $1)
myfun_addr=$(echo $myfun | awk '{print $1}')
myfun_length=$(echo $myfun | awk '{print $2}')
echo $myfun_length
myfun_end=$(echo "obase=16;ibase=16;$myfun_addr + $myfun_length" | bc)
offset=$(echo "obase=16;ibase=16;$myfun_addr - $start_addr" | bc)
Run Code Online (Sandbox Code Playgroud)

最后一行运行,但前面的行没有:

++ echo 'obase=16;ibase=16;0000000000400900 + 00000000000000bc'
++ bc
(standard_in) 1: syntax error
+ myfun_end=
++ echo 'obase=16;ibase=16;0000000000400900 - 0000000000400710'
++ bc
+ offset=1F0
Run Code Online (Sandbox Code Playgroud)

c bash shell bc

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

用平均值替换NA-s

我有一个缺少值的数据框.如何用上一行和下一行的平均值替换NA-s?在(30 + 10)/ 2 = 20的示例中.

id    value
1     30
2     NA
3     10
4     20
Run Code Online (Sandbox Code Playgroud)

r

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