小编uin*_*r_t的帖子

GDB:关于回溯中文件的相对和绝对路径的问题

我有关于gdb或gcc的问题(但不是firefox).

我在调试firefox时只看到gdb中的绝对路径.例:

5  0x01bb0c52 in nsAppShell::ProcessNextNativeEvent 
    (this=0xb7232ba0, mayWait=1)
    at 
    /media/25b7639d-9a70-42ca-aaa7-28f4d1f417fd/firefox-dev/mozilla-central/widget/src/gtk2/nsAppShell.cpp:144
Run Code Online (Sandbox Code Playgroud)

阅读这样的回溯是不舒服的.如果我尝试编译和调试微小的测试程序,我会看到这样的回溯(与文件的相对路径):

0  main () at prog.c:5
Run Code Online (Sandbox Code Playgroud)

在调试firefox时,我怎么能看到回溯中的相对路径?

PS gcc 4.4.1; gdb 7.0.

gcc gdb path backtrace

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

有没有办法用纯函数式语言调用两个函数(一个接一个)?(在非io模式下)

我试图理解纯函数式语言的执行顺序.

我知道在纯函数式语言中,没有必要的执行顺序.

所以我的问题是:

假设有两个功能.我想知道我可以在一个接一个地调用一个函数的所有方法(除了从另一个函数嵌套调用一个函数)(和io-mode除外).

我想在Haskell或伪代码中看到示例.

lambda haskell functional-programming

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

为什么bind(>> =)存在?没有绑定的解决方案难以处理的典型情况是什么?

这是绑定方法的类型声明:

(>>=) :: (Monad m) => m a -> (a -> m b) -> m b
Run Code Online (Sandbox Code Playgroud)

我按如下方式阅读:将一个返回包装值的函数应用于包装值.

此方法作为Monad类型类的一部分包含在Prelude中.这意味着有很多情况需要它.

好的,但我不明白为什么它是典型案例的典型解决方案.

如果您已经创建了一个返回包装值的函数,为什么该函数尚未包含值?

换句话说,有许多函数采用正常值但返回包装值的典型情况是什么?(而不是获取包装值并返回包装值)

monads haskell

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

Haskell中的高阶函数到底能做什么扩展C不能?

GCC具有C扩展,允许使用嵌套函数.

实际上,我不明白Haskell中的高阶函数(或其他纯函数式语言)C(函数指针和嵌套函数扩展)不能完全是什么?

c lambda haskell functional-programming higher-order-functions

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