标题描述基本上都说明了一切.我想使用一些需要相对较短的学习曲线的东西,因为它是我的第一个项目,我想花费至少一部分实际编写代码,而不仅仅是学习如何做,而且还有一些东西.良好的文档,一些新的前沿框架可能不会.有任何想法吗?
我在 Linux(作业)中实现了一个类似 FTP 的协议,我遇到了以下问题:客户端可能能够在另一方设法执行 accept() 之前进行 connect() 和 write()(但在它确实监听之后) ())。如何在不依赖于在不同通信通道中传递诸如“接受成功,您现在可以写入”之类的消息的情况下阻止写入操作?
我在Linux代码中看到了一堆名为__foo的函数.双下划线代表什么,何时应该使用?
在一个操作系统课程中,我花了一段时间才开始研究一个旧的,非抢占式的Linux内核(2.4.X).但是,我们被告知内核中可能同时存在多个控制路径.这与内核的非抢占性质相矛盾吗? 编辑:我的意思是,没有上下文切换内部的内核.上次我尝试提出这个问题时,得到了回答"好吧,Linux内核是先发制人的,所以没有问题".
我有以下代码:
if (!strcmp(ent_child->d_name, "eeprom")){
printf("\tread_from_driver: found a match! ");//DEBUG
get_child_path(child_path, child_path, "eeprom");
printf("The path is: %s\n", child_path);//DEBUG
read_eeprom(child_path);
}
Run Code Online (Sandbox Code Playgroud)
这会在某些时候导致段错误(可能是get_child_path),但是第一个printf永远不会发生,即使我将代码修改为:
if (!strcmp(ent_child->d_name, "eeprom")){
while(1)
printf("\tread_from_driver: found a match! ");//DEBUG
get_child_path(child_path, child_path, "eeprom");
printf("The path is: %s\n", child_path);//DEBUG
read_eeprom(child_path);
}
Run Code Online (Sandbox Code Playgroud)
它确实发生了.这是怎么回事?这绝对不是我第一次观察到这种行为.
c ×2
java ×2
linux ×2
coding-style ×1
frameworks ×1
linux-kernel ×1
networking ×1
printf ×1
reflection ×1
sockets ×1