小编vik*_*man的帖子

printf(_("hello,world \n"))是什么意思?

printf/puts等_("hello,world \n")参数的作用是什么?我经常在阅读GNU源代码时发现它.

c gnu

7
推荐指数
3
解决办法
3012
查看次数

查找键盘,鼠标的事件设备

找到硬件键盘鼠标事件设备节点有什么万无一失的方法?

我试过的是读/ proc/bus/input/devices并在设备名称中搜索'Keyboard''Mouse',但这并不总是有效,因为设备名称变化很大.

另一个选择是选择Handlers = kbdHandlers = mouseX,但在笔记本电脑上,还有其他设备,如"电源按钮","视频总线",Handlers = kbd.

linux device-driver linux-device-driver linux-kernel

6
推荐指数
1
解决办法
3251
查看次数

将一个getAs [T]方法添加到Map

我想添加一个getAs[T](key)方法Map,它将返回值asInstanceOf[T],当值类型为时,我发现它很有用Any.这是我尝试使用特质.

trait MapT extends Map[Any, Any] {
  def getAs[T](key: Any): T = super.apply(key).asInstanceOf[T]
}
val map = new Map[Any,Any] with MapT
Run Code Online (Sandbox Code Playgroud)

但是,编译器不会让我做这件事,因为+,-,iteratorget方法都没有定义,我真的不想定义.

我该怎么做呢?有更好的方法getAs[T]吗?

scala

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

为什么这个程序没有段错误?

当我为gcc启用-O时,是什么导致输出"Hello"?它不应该仍然是段错(根据这个维基)?

% cat segv.c 
#include <stdio.h>
int main()
{
    char * s = "Hello";
    s[0] = 'Y';
    puts(s);
    return 0;
}
% gcc segv.c && ./a.out 
zsh: segmentation fault  ./a.out
% gcc -O segv.c && ./a.out 
Hello
Run Code Online (Sandbox Code Playgroud)

c gcc pointers segmentation-fault

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