有谁知道mmap(2)和之间的区别mmap(3)是什么?第3节描述为"本章描述了除第2章中描述的库函数之外的所有库函数,它们实现了系统调用." 不mmap(3)执行系统调用?
阅读这两个手册页,我看到它mmap(2)似乎接受了比它更多种各样的标志mmap(3),并声称能够映射设备I/O空间. mmap(3)声称能够将"共享内存对象"和"类型化内存对象"映射到文件中,但未提及设备I/O.
由于这两个函数具有相同的名称,我甚至不确定如何选择一个而不是另一个.
我想了解哪些来源于此内联汇编代码_hypercall0 在这里.
asm volatile ("call hypercall_page+%c[offset]" \
: "=r" (__res) \
: [offset] "i" (__HYPERVISOR_##name * sizeof(hypercall_page[0])) \
: "memory", "edi", "esi", "edx", "ecx", "ebx", "eax")
Run Code Online (Sandbox Code Playgroud)
我无法找到%c第一行含义的信息.我没有在GCC手册最明显的部分找到任何信息,但这解释了%[name],但没有%c[name].还有其他我应该看的地方吗?
以下函数确定给定字符串是否为有效的网络设备名称.
int isValidNDevice(char *name) {
char data[4096];
struct ifconf ifc;
struct ifreq *ifr;
int sk;
int nIntfcs;
sk = socket(AF_INET, SOCK_DGRAM, 0);
if(sk < 0)
{
perror("socket");
return 0;
}
ifc.ifc_len = sizeof(data);
ifc.ifc_buf = (caddr_t)data;
if(ioctl(sk, SIOCGIFCONF, &ifc) < 0)
{
perror("ioctl(SIOCGIFCONF)");
return 0;
}
ifr = (struct ifreq*)data;
nIntfcs = ifc.ifc_len / sizeof(struct ifreq);
for(int i=0; i < nIntfcs; i++)
{
safe_printf("%s\n", (&ifr[i])->ifr_name);
if (!strcmp((&ifr[i])->ifr_name, name)) {
return 1;
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我运行此功能时,我收到以下输出.
lo0的
stf0
2>取值 …
我正在寻找一个实现 ssh 服务器端的 C 库。特别是,我只对提供端口转发的子集感兴趣。到目前为止我发现的(libssh2、NetSieben 等)似乎只实现了客户端。
我觉得处理32位PowerPC汇编代码非常舒服,但在尝试理解x86代码时我完全迷失了.ARM,MIPS,Sparc等其他常见架构是否比x86指令集更容易?
我想为其中一个较旧的Crays编写一个模拟器,但我遇到了一个绊脚石.我似乎无法找到任何实际的代码.(我认为哪种方式有道理,其中大部分都会被用于防御之类......)有谁知道我在哪里可以找到什么东西?二进制或来源,这一切都很好.我最喜欢的是COS的二进制文件.提前感谢.
我在面试时被问到这个问题.这是我的O(log n)解决方案.
找到节点的深度.重复搜索,但停在depth - n.
没有第二次通过,有没有办法做到这一点?
我跑了这个程序,然后输出
...
65088
65089
65090
然后它停了下来.Windows 7称a.exe停止工作.这是代码:
#include <stdio.h>
void go(void);
main()
{
go();
}
void go(void)
{
static int i = 0;
printf("%d\n", i++);
go();
}
Run Code Online (Sandbox Code Playgroud)
我认为这个程序应该由于递归而无限期地打印数字,但它会在65090停止!C代码是用gcc编译的.有任何想法吗?
我一生中大部分时间都是Vim用户.我已经使用带有viper/vimpulse的Emacs几年了.在OS X Lion上使用Xcode 4来解决我的Vi习惯和达到合理的生产力水平的最佳方法是什么?我不想使用外部编辑器,因为我宁愿完全沉浸在Xcode中.
我有一个适用于PowerPC的巨大源代码.我需要将它移植到ARM.但是,ARM在未对齐的内存访问上生成h/w异常.所以,我想找到所有可能发生未对齐内存访问异常的实例.我考虑过以下几种选择.
我的问题是,