小编rag*_*oth的帖子

使用uclibc时如何解决对fenv.h中函数的未定义引用?

我试图测试某些功能fenv.h,但是,当我编译如下功能LD失败,undefined reference to 'feclearexcept'undefined reference to 'fetestexcept'。我正在运行针对 uclibc 编译的强化 gentoo,我怀疑这至少在某种程度上是相关的

#include <stdio.h>      /* printf */
#include <math.h>       /* sqrt */
#include <fenv.h>      
#pragma STDC FENV_ACCESS on

int main ()
{
  feclearexcept (FE_ALL_EXCEPT);
  sqrt(-1);
  if (fetestexcept(FE_INVALID)) printf ("sqrt(-1) raises FE_INVALID\n");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

fenv.h/usr/include. 中有静态和动态库 ( libm.a, libm.so) /usr/lib。我正在编译gcc -o test test.c -lm;有没有人知道为什么链接器找不到相关函数。似乎没有fenv.h相应的库。

更新:这篇十年前的博文似乎暗示 uclibc 不支持 fenv。我无法确定是否仍然是这种情况,但如果是这样,有什么可以做的。 http://uclibc.10924.n7.nabble.com/missing-fenv-h-for-qemu-td2703.html

c linux gcc floating-point-exceptions uclibc

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

CasperJS click()不加载新的html

我正在尝试使用CasperJS' click()来跟踪在当前屏幕上生成模态的链接.当我查询正确的选择器并使用document.querySelector().click()它在浏览器控制台中单击它时,但即使我casper.evaluate()这样做它也不起作用.我找到了一个有类似问题的人,但他的问题仍然没有答案,我遇到了几乎相同的问题.casperjs按钮单击不导航到下一页 我正在使用的代码是

this.waitForSelector('div.talk-sharing__tools a.rate-button', function() {
    this.then(function() {
        this.evaluate(function() {
            document.querySelector('a.rate-button').click();
});
Run Code Online (Sandbox Code Playgroud)

我想刮页面http://www.ted.com/talks/uri_alon_why_truly_innovative_science_demands_a_leap_into_the_unknown

html javascript phantomjs casperjs

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

以编程方式构造和调用函数

我已经以编程方式在内存中构建了一个C函数,我可以在Rust中调用它.

type AddFn = extern "C" fn(isize, isize) -> isize;
let Add = build_function::<AddFn>(&region, code);

fn build_function<T>(region: &MappedRegion, contents: &[u8]) -> Box<T> {
    unsafe {
        ...
        mem::transmute(Box::new(region.addr))
    }
}  
Run Code Online (Sandbox Code Playgroud)

这需要我知道我生成的函数的签名,在这种情况下AddFn.我希望能够在运行时构建此签名,例如let x = 3u8; macro!(x, f64) == fn(f64, f64, f64) -> f64.我找不到以这种方式生成函数的方法.相关问题是无法调用在运行时生成的函数.如果没有部分应用或完成上述逻辑的方法,我无法弄清楚如何在没有已知签名的情况下调用生成的函数.是否可以在Rust中以这种方式以编程方式生成函数签名?

更新:Rust对可变参数C函数的支持(extern "C" fn(x:int, ...)允许任意sysv ABI兼容函数签名.现在唯一的问题是在运行时调用它们.有没有办法在命名函数上执行部分应用程序?

generics macros ffi rust

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

生锈中明显的生命周期错误

我有一个我想要使用的生锈枚举,但是我收到了错误;

error: explicit lifetime bound required
numeric(Num),
        ~~~
Run Code Online (Sandbox Code Playgroud)

有问题的枚举:

enum expr{
   numeric(Num),
   symbol(String),
}
Run Code Online (Sandbox Code Playgroud)

我不认为我明白这里借的是什么.我的意图是Num或String与包含expr的生命周期相同,允许我从函数返回它们.

enums lifetime object-lifetime rust

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

使用#![no_std]时如何访问StrExt等核心特征?

我正在尝试用#![no_std]set 写一些Rust .我试图一次迭代str一个字符; 然而,通常的技术似乎都不起作用.当我尝试通过str提供的函数访问字符时,例如,for c in s.char_indices()或者for c in s.chars()我收到错误:

type &str does not implement any method in scope named ___
Run Code Online (Sandbox Code Playgroud)

我的理解是str是其中的一部分,core因此它所实现的任何特性都应该可用no_std.有没有办法访问此功能,或另一种迭代方式str

rust

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