小编Sea*_*nor的帖子

我在linux内核中发现了一些奇怪的代码,有人可以向我解释一下吗?

我在initramfs.c中发现了这个,我之前没有看过这个语法,有人可以解释它在做什么吗?

static __initdata int (*actions[])(void) = {
  [Start]   = do_start,
  [Collect] = do_collect,
  [GotHeader] = do_header,
  [SkipIt]  = do_skip,
  [GotName] = do_name,
  [CopyFile]  = do_copy,
  [GotSymlink]  = do_symlink,
  [Reset]   = do_reset,
};
Run Code Online (Sandbox Code Playgroud)

源代码(第366行):initramfs.c

c linux-kernel

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

数据库与平面文本文件:当性能不是问题时,选择一个而不是另一个的技术原因是什么?

我在其中一个团队中遇到了一个问题.其中一个人在我看来有点SQL快乐,并希望将一个小型python FTP下载器生成的日志信息存储到数据库中,而不仅仅是很好的格式文本文件.现在我一直认为只有在加速数据库时才能使用数据库,或者为数据提供更可靠的接口.你有什么看法?

谢谢!

编辑:在这个特定的实例中,数据将每天增长大约100行,并被处理一次并丢弃.虽然这个案例是直接关注的,但我对一般答案更感兴趣.

编辑2:感谢您的所有回复!我用最多的选票作为答案标记了答案,因为我觉得它简明扼要地说明了你们所做的大部分要点,但我会观察并看看是否还有其他问题.

sql database

26
推荐指数
8
解决办法
2万
查看次数

Lua开发是否停滞不前,还是计划新版本?

我正在研究学习Lua,因为它有一些有趣的功能(速度是一个),我注意到自2006年以来没有功能更新.Lua开发已经停止了吗?如果没有,我在哪里可以了解最近的进展?

编辑:所有大写Lua是你在凌晨3点发布SO时发生的事情.

scripting lua programming-languages

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

如何编写vim函数来输出系统命令的结果?

到目前为止我所拥有的:

function! GetMarker()
    return system('echo $random `date` | md5sum | cut -d" " -f1')
endfunction
Run Code Online (Sandbox Code Playgroud)

我希望能够做到:getmarker并让它在我的光标处插入该系统命令的输出,没有新行.

此外之间有什么区别function!function

编辑:在你问任何人之前,我需要随机字符串来标记我的代码中的部分,以便我可以通过在我的todo wiki中引用我的笔记再次找到它们.

vim

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

ioctl驱动程序函数是否在linux 2.6下的原子上下文中执行?

我正在跟踪我们的一个驱动程序中的"原子调度"错误,并且想知道ioctl是否是原子上下文.此外,如果任何人有任何关于如何进出原子上下文和它们发生的常见位置的分享,那将是有帮助的.

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

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

什么是| 运算符在函数调用中的意思?[C++]

我在查看Win32 gui代码时经常会看到这个.我的假设是它是一个标准的按位或者,但我也偶尔在C#中看到它,似乎会有一个更好的(更高级别)方式来做同样的事情.无论如何,这是一个例子:

MessageBox(NULL, "Window Creation Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);
Run Code Online (Sandbox Code Playgroud)

谢谢,

西莫

c++ winapi

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