小编Mik*_*rov的帖子

哪个模块是 Python 3 中 FUSE 的实际接口?

我刚刚开始学习 FUSE,我将在 FreeBSD 和 MacOS 下将它与 Python 3 一起使用。首先,我有点困惑哪个模块是 Python 3 端 FUSE 的实际接口:

所以,看起来,FUSE 库的实际版本是 3,看起来,我应该使用pyfuse3,但是关于“Linux 文件系统”的评论让我想知道我是否应该回退到python-fuse在 FreeBSD/MacOS 下愉快地工作。

macos freebsd fuse python-3.x

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

open() 和 path.open() 的区别

关于pathlib标准库中的模块,该path.open()方法是否只是内置open()函数的“包装器” ?

python path

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

警告:'memset' 总是会溢出 [-Wfortify-source]

尝试操纵 中的 IPv6 地址struct sin6_addr,例如清理它:

struct sockaddr a;
memset(&(((struct sockaddr_in6 *)&a)->sin6_addr.s6_addr), 0, 16);
printf("SIZEOF: %lu\n", sizeof((((struct sockaddr_in6 *)&a)->sin6_addr.s6_addr)));
Run Code Online (Sandbox Code Playgroud)

并面临警告:

1.c:34:2: warning: 'memset' will always overflow; destination buffer has size 8, but size argument is 16 [-Wfortify-source]
        memset(&(((struct sockaddr_in6 *)&a)->sin6_addr.s6_addr), 0, 16);
Run Code Online (Sandbox Code Playgroud)

同时printf("SIZEOF...")返回16个字节,那么空间应该足够了吧?

另外,如果我这样做:

struct sockaddr a;
struct in6_addr aa;
aa = ((struct sockaddr_in6 *)&a)->sin6_addr.s6_addr;
memset(&aa, 0, 16);
Run Code Online (Sandbox Code Playgroud)

没有显示任何警告。我做错了什么?

UPD。修复了 printf() 中的一个问题

c memset

0
推荐指数
1
解决办法
226
查看次数

标签 统计

c ×1

freebsd ×1

fuse ×1

macos ×1

memset ×1

path ×1

python ×1

python-3.x ×1