小编Rom*_*aka的帖子

为什么有数组的调用约定?

我正在阅读System V应用程序二进制接口,有一部分是我无法理解的.

首先,该文件指出

没有尝试为C以外的语言指定ABI

(第10页).

稍后,在第20页,数组分为MEMORY,POINTER等:

聚合(结构和数组)和联合类型的分类如下:
...

然后使用分类来定义调用约定 - 它们的值和边界如何传递给函数并从函数返回.如果我正确读取算法,则可以将数组分类为INTEGER,MEMORY或SSE.

但是在C语言中,数组总是作为指针传递和返回.那么为什么对数组进行分类以及在哪种情况下数组类很重要呢?

c arrays x86-64 calling-convention

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

R 中 rho 环境参数的目的是什么?

正如此处所解释的,当调用内部或原始函数时,其最后一个参数是rho执行调用的环境。

\n\n

另一方面,我们有R_GlobalContext->sysparent\xe2\x80\x94 这是environment()R 中返回的内容。该sysparent字段被描述为

\n\n
/* Evaluation Context Structure */\ntypedef struct RCNTXT {\n    ...\n    SEXP sysparent;     /* environment the closure was called from */\n    ...\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

看来rho和的意思sysparent是一样的。

\n\n

因此,我的问题是:

\n\n
    \n
  1. 如果它们总是相同的,为什么还要费力传递rho参数呢?
  2. \n
  3. 如果它们不相同,它们如何/何时不同?
  4. \n
  5. 如果我在函数内部,除了从 R 包装器传递它之外,.Call如何调用内部 R 函数?rho
  6. \n
\n

r

5
推荐指数
0
解决办法
162
查看次数

在Google阅读器中显示原子Feed的图标

Google阅读器不会显示我的Atom Feed http://feeds.feedburner.com/CartesianClosedComic的图标.

根据互联网上的各种建议,这是我尝试的内容:

  • 添加了一个<icon>指向png图标的元素.(我也在.ico那里尝试了一个图标.)IMO,这本身应该足够了,但由于某种原因它不是.
  • 通过类比普通页面添加了<link rel="shortcut icon" type="image/x-icon" />指向.ico图标的元素.
  • 添加了一个<link rel="alternate" type="text/html" />指向具有favicon的网页的元素.

以上都没有帮助.

我还发现了一个假设,即在域的根路径下应该有一个favicon(类似的东西http://mydomain.com/favicon.ico),但这对我来说不是一个选择.

favicon google-reader rss-reader web atom-feed

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

Haskell 中对 mongoDB 的授权连接

如何向 mongoDB 进行身份验证?

我正在使用这个驱动程序http://hackage.haskell.org/package/mongoDB

我在文档或来源中找不到任何相关内容。

haskell mongodb

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

引导程序中字体大小背后的基本原理

以下是标题大小bootstrap.css:

h1 {
  font-size: 38.5px;
}

h2 {
  font-size: 31.5px;
}

h3 {
  font-size: 24.5px;
}
Run Code Online (Sandbox Code Playgroud)

我很惊讶这些尺寸是分数(半整数),这表明它们的精度至少0.25px(小于1%).

网页设计师如何达到这样的尺寸?他们是通过一些科学过程获得的,也许是一些计算?或者人们只是盯着他们的网站,玩大小直到它感觉正确?设计师如何说服他的队友真的应该31.5px而不仅仅是31px

css font-size twitter-bootstrap

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

为什么 Perl 的编码层没有任何作用?

我需要读取以 iso-8859-1 编码的文件。

出于某种原因,我无法使编码层(如 中所述PerlIO::encoding)工作。这是我正在做的一个最小的例子。

test.txt 包含以 iso-8859-1 编码的单个英镑符号。

% iconv -f iso-8859-1 test.txt
£

% hexdump -C test.txt
00000000  a3 0a                                             |..|
00000002
Run Code Online (Sandbox Code Playgroud)

我的 Perl 脚本:

#!/bin/perl

use warnings;
use strict;

open my $f, "<:encoding(iso-8859-1)", $ARGV[0] or die qq{Could not open $ARGV[0]: $!};

while (<$f>) {
  print;
}
Run Code Online (Sandbox Code Playgroud)

结果:

% ./script.pl test.txt | hexdump -C
00000000  a3 0a                                             |..|
00000002
Run Code Online (Sandbox Code Playgroud)

所以脚本打印它读取的确切字节序列,不执行任何转换。

perl character-encoding

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

在Haskell中,如何生成一个完美平衡的二叉搜索树?

该函数应采用列表xs并构造一个平衡的二叉搜索树,其中包含与xs完全相同的元素集.

结果应该是这样的:(如果列表是[1,2,3,4,5,6,7,8])

节点(节点(节点(节点空1空)2空)4(节点空4空))5(节点(节点空6空)7(节点空8空))

也就是说树应该是这样的:

                5
               / \
              3   7
             / \ / \
            2  4 6  8
           /
          1
Run Code Online (Sandbox Code Playgroud)

而不是这个:

                5
               / \
              4   6
             /     \
            3       7
           /         \
          2           8
         /
        1
Run Code Online (Sandbox Code Playgroud)

谁能告诉我怎么做?我发现我可以做第二棵不完美平衡的树,但不知道如何做第一棵树.

我感谢任何帮助!! 先感谢您!

haskell binary-search-tree

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

如何从命令行运行devtools :: test?

我的一个测试失败了,我想使用git bisect来跟踪它.

为此,我需要从命令行运行devtools::test,使进程退出代码指示是否所有测试都已通过.

我怎么做?

r devtools

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

输入与分数相关的错误

我想弄清楚什么是错的.似乎类型有问题,但单独使用相同的表达式可以正常工作.

这是代码:

a = [9, 4, 12, 0, -6, 16] :: [Int]

qsort:: [Int] -> [Int] 
qsort [] = []
qsort [x] = [x]
qsort xs = (qsort l)++(qsort r)
    where   m = (realToFrac(sum xs)) / (realToFrac(length xs))
            l = filter (<=m) xs
            r = filter (>m) xs

main::IO()
main = do
        print (show (qsort a))
Run Code Online (Sandbox Code Playgroud)

它抛出:

main.hs:7:36:
    No instance for (Fractional Int)
      arising from a use of `/'
    Possible fix: add an instance declaration for (Fractional Int)
    In the …
Run Code Online (Sandbox Code Playgroud)

haskell types

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

调试列表理解

我复制了(http://www.haskell.org/haskellwiki/Euler_problems/11_to_20#Problem_11)上给出的Euler.11解决方案,但它失败并出现索引错误:" (Array.!):undefined array element ".当然首先我想要一个更好的错误消息(!),甚至可能给出失败的索引,但是我没有尝试调试它.

数据输入正确,打印数据显示正确的边界和数据.

所以我在结果表达式和理解体中添加了一些跟踪消息.我从最终表达式中获得了大量的跟踪结果,但是没有来自主体计算的结果.为什么?

prods :: Array (Int, Int) Int -> [Int]
-- trace ("xs: " ++ show xs) (product xs)
prods a = [trace ("xs: " ++ show xs) (product xs) | i <- range $ bounds a,
                        s <- senses,
                        let trace1 = check "i: " i,
                        let is = take 4 $ iterate s i,
                        let trace2 = check "is: " is,
                        all (inArray a) is,
                        let xs = map (a!) is] …
Run Code Online (Sandbox Code Playgroud)

haskell list-comprehension lazy-evaluation

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