小编Vas*_*asu的帖子

Eclipse和Windows换行符

当我的桌面崩溃时,我不得不将我的Eclipse工作区从Linux移动到Windows.一周后,我将它复制回Linux,代码愉快,致力于CVS.唉,windows换行已经污染了很多文件,所以CVS diff会转储整个文件,即使我换了一两行!

我可以编写一个脚本,但我想知道它是否会弄乱我的Eclipse项目文件.

eclipse newline delimiter

178
推荐指数
4
解决办法
12万
查看次数

函数调用后指针返回值发生变化

来自两个C源文件的代码片段:

AC

Channel *testChannelGet()
{
    Channel *ch = channelGet (parser,parserCh);
    return ch;
}
Run Code Online (Sandbox Code Playgroud)

公元前

Channel *channelGet(UINT8 parser, UINT16 parserCh)
{
    chnl.player = &solPlayer;
    return((Channel *)&chnl);
}
Run Code Online (Sandbox Code Playgroud)

我编译这两个文件并创建一个静态库和一个共享库.现在我从示例程序中调用testChannelGet.当我将它链接到静态库时,它完美地工作.但是,如果我将它链接到共享库,它的SEGFAULTing.调试告诉我,从channelGet返回的指针正在改变它返回的时刻.GDB输出如下.

174         Channel *ch = channelGet (parser,parserCh);
(gdb) s
channelGet (parser=1 '\001', parserCh=1) at B.c:15174
15174           chnl.player = &solPlayer;
(gdb) n
15175           return((Channel *)&chnl);
(gdb) p ((Channel *)&chnl)
$1 = (Channel *) 0x7ffff7fed1a0
(gdb) n
15176   }
(gdb) n
testChannelGet at A.c:175
175         return ch;
(gdb) p ch
$2 = (Channel *) 0xfffffffff7fed1a0
Run Code Online (Sandbox Code Playgroud)

现在地址值似乎指向不同的偏移量 …

c pointers return-value

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

ruby http 连接池

我必须在 Rails 应用程序中创建 http 连接才能从远程服务器提取一些数据。我正在使用 Net:HTTP,但创建的 http 连接不是持久的。所以我最终有很多处于 TIME_WAIT 状态的套接字,因为这些 http 连接已关闭。有人知道一个好的池化宝石可以保持连接持久并重用它们吗?

ruby connection-pooling http time-wait

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

拨号计划执行顺序

我的星号拨号计划中有以下上下文。

[start-call]
exten => _X.,1,AGI(agi://localhost:4000)
exten => _X.,n,GotoIf($["${AGISTATUS}" = "FAILURE"]?redirect)
exten => _X.,1000(redirect),Hangup(31)    
exten => 900,n,Goto(start-call,${EXTEN},1)
exten => h,n,Hangup
Run Code Online (Sandbox Code Playgroud)

我有一个 AGI 应用程序,它连接呼叫并收集 DTMF 输入,并使用 SET EXTENSION agi 命令(第 1 行)将该号码设置为分机号。仅当没有 DTMF 输入时,我才将 AGISTATUS 设置为 FAILURE。如果没有输入,我就会超时并挂断(第 3 行)。但是,如果输入 900,我将返回到启动调用上下文,并在 AGI 应用程序中执行一些操作(第 4 行)。

问题是,现在即使我输入 900,电话也会挂断。不是从第 3 行开始,而是从最后一行开始。所以它以某种方式跳过了第 4 行。如果我将 900 分机(第 4 行)移到标记为重定向的分机(第 3 行)之前,它就会起作用。

我认为星号会自动增加“ n ”优先级,并希望它按照上面列出的顺序工作。我这里错了吗?

telephony asterisk

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