我已经包含了标题netdb.h,包含在哪里getaddrinfo,但是gcc发出了这个警告:
warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
gcc -m32 -static -s -O2 -std=c99 -D_POSIX_C_SOURCE=200112L myprogram.c
Run Code Online (Sandbox Code Playgroud)
如何静态编译丢失的文件?
可能的解决方案:
可能是glibc安装缺少静态编译所需的相应目标文件.如果是这种情况,请创建相应的目标文件并在编译时链接它.
尝试EGLIBC而不是glibc.
我成功地用dietlibc编译了我的程序,它编译时没有任何错误加上得到的二进制文件比glibc制作的要小得多.
似乎截至2018年4月28日,R 3.5在任何镜像中都不适用于Linux.最新的r-base-core适用于3.4.4,请参见下图中的一个镜像.同时我能够为Windows安装R 3.5.你知道为什么最新的R不适用于Linux吗?

以下代码:
#include <stdio.h>
typedef union {
int n;
char *s;
} val_t;
int main(void) {
val_t v1,v2;
v1 = (val_t)"Hello World";
v2 = (val_t)10;
printf("%s %d\n", v1.s, v2.n);
return(1);
}
Run Code Online (Sandbox Code Playgroud)
使用gcc正确编译和执行.如果试图转换一个常量,而且联合中没有合适的字段,则会产生错误消息.
但是,查看(C99)标准,我无法找到描述此行为的部分.因此,我的问题:
如果联合类型的字段具有兼容类型,那么C标准是否保证我可以将常量强制转换为联合类型?
或者,换句话说:
是
((val_t)10)一个有效的rvalue类型val_t?
了解其他编译器(或至少MS Visual C++)是否支持此行为也很有趣.有人知道吗?
编辑:转换为联盟是一个GCC扩展,所以使用它不是一个好主意.
感谢Maurits和Neil!我没想过用-pedantic检查!
在docker容器内我试图使用LibreOffice将XLSX文件转换为PDF.相关命令在命令行上工作,但在从R调用时失败并显示"Application Error".我使用此命令Dockerfile添加一些(根据我的经验任意)XLSX文件:
FROM rocker/r-ver:3.4.3
RUN apt-get update \
&& apt-get install --yes --no-install-recommends \
default-jre-headless libreoffice-calc \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& echo /usr/lib/libreoffice/program > /etc/ld.so.conf.d/libreoffice.conf \
&& ldconfig
COPY foo.xlsx /tmp
Run Code Online (Sandbox Code Playgroud)
(诀窍ldconfig来自
R中系统函数的共享库问题.)
在命令行上,我可以将XLSX文件转换为PDF:
root@b395caeba33b:/# loffice --headless --convert-to pdf /tmp/foo.xlsx
convert /tmp/foo.xlsx -> //foo.pdf using filter : calc_pdf_Export
Run Code Online (Sandbox Code Playgroud)
然而,这从R失败:
> system("loffice --version")
LibreOffice 5.2.7.2 20m0(Build:2)
> system("loffice --headless --convert-to pdf /tmp/foo.xlsx")
convert /tmp/foo.xlsx -> //foo.pdf using filter : calc_pdf_Export …Run Code Online (Sandbox Code Playgroud) 我正在准备一本历史书籍手稿,用Bookdown撰写的R-Markdown,将有8章,每章有100多个芝加哥风格的尾注,使用GitBook风格的网页格式.
我的目标是在每章之后重新开始尾注编号,以避免遇到高位数并且类似于传统历史书籍的外观.
我已经尝试了这里描述的大多数设置(https://bookdown.org/yihui/bookdown/html.html#gitbook-style),但无法生成所需的Web输出.这是我的index.Rmd的相关部分:
output:
bookdown::gitbook:
dev: svglite
css: css/style.css
split_by: rmd
split_bib: true
Run Code Online (Sandbox Code Playgroud)
请参阅我的简化模型演示:https: //jackdougherty.github.io/bookdown-test/book/ 和源代码:https: //github.com/JackDougherty/bookdown-test
它只是报告:
Cholmod 错误“X 和/或 Y 的尺寸错误”位于文件 ../MatrixOps/cholmod_sdmult.c,第 90 行。
我不知道为什么。
x.m <- data.matrix(train[,c(1:43)])
x.m [is.na(x.m)] <- 0
y.m <- train$NPL
cv.m <-data.matrix(cv)
set.seed(356)
cvfit.m.lasso = cv.glmnet(x.m, y.m,
family = "binomial",
alpha = 1,
type.measure = "class")
par(mfrow=c(1,2))
plot(cvfit.m.lasso, main = "Lasso")
coef(cvfit.m.lasso, s = "lambda.min")
predTrain.M = predict(cvfit.m.lasso, newx=cv.m, type="class")
table(cv$NPL, predTrain.M)
Run Code Online (Sandbox Code Playgroud) 我在docker下使用基于 alpine:3.7 图像的无头镀铬。但是,当我使用 Chrome DevTools Protocol 截取屏幕截图时,我发现 alpine 无法显示除英语以外的语言,如下面的屏幕截图所示。
我试图将字体复制到 docker 图像
COPY NotoSansCJKsc-Regular.otf /usr/share/fonts/
Run Code Online (Sandbox Code Playgroud)
并尝试在 alpine 源中安装字体:
RUN apk add --no-cache bash \
ttf-ubuntu-font-family \
font-adobe-100dpi \
font-noto \
ttf-dejavu \
Run Code Online (Sandbox Code Playgroud)
但是所有的方法都失败了。所以我的问题是Alpine支持中文吗?以及如何使用 Docker 使用它?
截取屏幕截图的python代码:
COPY NotoSansCJKsc-Regular.otf /usr/share/fonts/
Run Code Online (Sandbox Code Playgroud)
我安装了RStudio Desktop windows版本来学习课程,我必须编写一个特定的RMD文件.我安装了包括"knitr"在内的所有软件包,但我仍然无法在界面中找到编织按钮.

我正在使用 R-markdown 来编写一些报告。我用独立的图形来做,因为我通过电子邮件发送它。
这一直有效直到最近。但现在图像不再显示(方框中出现十字错误)。可能是我更新了RStudio的版本。我在脚本的顶部使用了这个:
---
title: "blablablab"
author: "blablablab"
output:
html_document:
fig_caption: yes
toc: no
toc_depth: 2
toc_float: no
number_sections: false
self_contained: yes
---
Run Code Online (Sandbox Code Playgroud)
我知道这个问题不是很具体。我只是想问是否有人也有独立的图形,但突然不再工作了。
我在这里先向您的帮助表示感谢!
问候丹尼
我需要将一个列表列表导出到 json 以获得类似下一个的输出 JSON:
{
"timestamp":"2018-02-01 10:20",
"aux":[
{"id":"x1","prog":['A','A','A']},
{"id":"x2","prog":['A','A','A']},
{"id":"x3","prog":['A','A','A']}
]
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能制作一个列表来获得这样的 JSON?提前致谢。
编辑:
这就是我正在尝试的:
l1 <- list(timestamp = "2018-02-01 10:20",
aux = list(id = c("x1","x2","x3"),
prog = rep('A',3)))
Run Code Online (Sandbox Code Playgroud)
这是我得到的 JSON:
{"timestamp":"2018-02-01 10:20",
"aux":{"id":["x1","x2","x3"],
"prog":["A","A","A"]}
}
Run Code Online (Sandbox Code Playgroud) r ×6
c ×2
docker ×2
r-markdown ×2
alpine-linux ×1
bookdown ×1
c99 ×1
casting ×1
dockerfile ×1
fonts ×1
gcc ×1
glmnet ×1
json ×1
knitr ×1
libreoffice ×1
list ×1
posix ×1
rstudio ×1
types ×1