小编vir*_*tor的帖子

Systemtap对性能的影响

我正在寻找有关systemtap对性能影响的一些真实信息.我知道静态内核探测器会在其网站上的某个位置(带有统计信息)进行记录,但是用户空间探测器呢?

我在他们的邮件列表(http://sourceware.org/ml/systemtap/2009-q1/msg00518.html)上看到了这篇文章,其中指出了在某些情况下单步执行的可能性.任何人都可以解释/指出哪些资源列出了哪些技术用于哪些探针?

process().function()介绍什么开销?静电标记怎么样?

linux profiling systemtap

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

app引擎开发服务器中的HTTP身份验证

我想设置应用程序引擎开发服务器,以便其他人可以进行预览.

在此之前我真正想做的是为该网站提供的任何网址启用http身份验证.我不希望任何人在没有通过该阶段的情况下访问该服务.我当然可以在我正在开发的应用程序中构建自己的http身份验证,但这不是一个完美的解决方案,因为我在部署应用程序时不需要该功能.

有什么好办法可以解决吗?

google-app-engine http-authentication

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

Qt绘画没有清除背景

我正在使用QPainter在窗口上获取一些图形.不幸的是,每次paintEvent()调用该函数时,整个窗口都被清除.如何在不清除的情况下绘制?即我如何将以前的油漆事件中的东西保持不变?

我正在使用Qt4

qt background clear qpainter

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

在automake中的头部依赖性

我想创建一个Makefile.am文件,生成文件中提到的一个头xxx.c文件.

假设xxx.c包含:

#include <version.h>
...
Run Code Online (Sandbox Code Playgroud)

并且我有一条规则在最后创建它Makefile.am:

version.h:
       echo '#define VERSION "'`hg id`'"' > version.h.tmp
       cmp version.h.tmp version.h || mv version.h.tmp version.h
Run Code Online (Sandbox Code Playgroud)

我需要更改以使xxx.c编译依赖于version.h什么?我试过了nodist_progname_SOURCES=version.h,但似乎没有这样做.

automake dependencies header-files

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

丢弃传入的UDP数据包而不读取

在某些情况下,我想以尽可能少的开销明确地丢弃在套接字上等待的数据包.似乎没有明确的"drop udp buffer"系统调用,但也许我错了?

下一个最好的方法可能是recv将数据包发送到临时缓冲区并放弃它.似乎我不能接收0字节,因为man说recv:The return value will be 0 when the peer has performed an orderly shutdown.在这种情况下,1是最小的.

有没有其他方法来处理这个?

以防万一 - 这不是一个不成熟的优化.此服务器正在做的是转发/以特定方式调度UDP数据包的唯一的事情-虽然recvlen=1不杀我,我宁愿只放弃整个队列一气呵成有一些更具体的功能(希望降低延迟) .

sockets linux queue udp

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

关于自己协议的设计/实现的提示

在我工作的地方,我们需要一个能够:

  • 用户登录/注销
  • 发送/接收说明
  • 发送/接收文件
  • 发送/接收音频流(可以使用RTP)
  • 发送/接收小型XML文件使用
  • 所有这些的密码学.

它将在java中实现.所以我有一些问题,因为我还没有实现过网络协议.

  1. 是否可以使用现有协议来构建这个协议?
  2. 我可以使用什么工具来帮助我设计协议?用于"建模"
  3. 是否有可能完成这一切,独自完成?我有足够的时间来做这件事.

我在Java和C++方面有很好的背景,但还没有使用套接字/网络编程.

谢谢

java sockets networking protocols

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

如何在不使用条件语句的情况下将max和min边界应用于值

问题:

写一个Python函数,clip(lo,x,hi)如果x小于lo则返回lo; 嗨如果x大于hi; 否则为x.对于这个问题,你可以假设lo <hi.

不要对此问题使用任何条件语句.相反,使用内置的Python函数min和max.在开始此问题之前,您可能希望阅读关于min的文档和max上的文档,并在解释器中稍微使用这些函数.

此函数接收三个数字并返回一个数字.

代码给出:

def clip(lo, x, hi):
    '''
    Takes in three numbers and returns a value based on the value of x.
    Returns:
     - lo, when x < lo
     - hi, when x > hi
     - x, otherwise
    '''
Run Code Online (Sandbox Code Playgroud)

我的代码已添加:

def clip(lo, x, hi):
    '''
    Takes in three numbers and returns a value based on the value of x.
    Returns:
     - lo, when x < lo
     - hi, when x > hi
     - x, otherwise …
Run Code Online (Sandbox Code Playgroud)

python

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

在Rust中返回不可变字符串

我正在寻找从Rust中的函数返回一个字符串,但我现在看到的唯一选择是返回String,可以修改.虽然它不是不正确的,但我非常喜欢将错误描述之类的字符串作为不可变的返回.

那么有没有办法让当前返回的函数Result<Something, String>实际上将错误实际返回为不可变的?是否可以在类型本身中强制执行它,同时仍然返回一些Str兼容的东西?或者我应该停止担心并且总是回馈Strings?(像大多数std::io功能一样)

string rust

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

获取一个字节数组的读者

我正在尝试测试一些需要读者的代码.我有一个功能:

fn next_byte<R: Read>(reader: &mut R) -> ...
Run Code Online (Sandbox Code Playgroud)

如何在某些字节数组上测试它?文档说有一个impl<'a> Read for &'a [u8],这意味着这应该工作:

next_byte(&mut ([0x00u8, 0x00][..]))
Run Code Online (Sandbox Code Playgroud)

但编译器不同意:

the trait `std::io::Read` is not implemented for the type `[u8]`
Run Code Online (Sandbox Code Playgroud)

为什么?我明确地说&mut.

使用锈1.2.0

buffer rust reader

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

在gdb中加载python支持

我在gdb中使用特定于python的命令时遇到了问题。我已经包括了一般的python支持:

(gdb) python print(True)
True
Run Code Online (Sandbox Code Playgroud)

我已经安装了标准脚本:

$ ls /usr/share/gdb/python/gdb/
command  FrameDecorator.py  FrameIterator.py  frames.py  function  __init__.py  printer  printing.py  prompt.py  __pycache__  types.py  unwinder.py  xmethod.py
Run Code Online (Sandbox Code Playgroud)

我确保可以使用所有路径启用加载:

$ cat ~/.gdbinit 
add-auto-load-safe-path /usr/share/gdb/python/gdb/
add-auto-load-safe-path /usr/share/gdb/python/
add-auto-load-safe-path /usr/share/gdb/
set auto-load python-scripts on
Run Code Online (Sandbox Code Playgroud)

但是由于某种原因,gdb仍然不喜欢这样:

(gdb) info auto-load 
gdb-scripts:  No auto-load scripts.
guile-scripts:  No auto-load scripts.
libthread-db:  No auto-loaded libthread-db.
local-gdbinit:  Local .gdbinit file was not found.
python-scripts:  No auto-load scripts.
Run Code Online (Sandbox Code Playgroud)

我想py-bt在加载后使命令正常工作gdb

python linux gdb archlinux

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