c - 是否可以按位分配动态内存?

标签 c linux memory-management dynamic linux-kernel

我们可以按位分配动态内存吗?我知道 malloc() 需要以字节为单位的内存大小。我们可以编写一个以位为单位分配内存的内核模块吗?并且该模块应由用户程序调用以按位分配内存。如果你们同意,我将开始研究它。

最佳答案

首先,你不能分配一个位(在现代系统中甚至不能分配一个字节),因为你无法寻址它。内存地址总是给出具有数据总线宽度的数据(例如 64 位)。

如果你想模拟按位分配@godel9 是对的。我更愿意

ptr = malloc((numbits % 8) + 1).

关于c - 是否可以按位分配动态内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20651537/

相关文章:

c - 防止 "warning: implicit declaration of function ' setlinebuf'...”

c - 将 C 源代码移植到 Delphi

c - C 中指针的区别

objective-c - 在 Objective-C 中,Type* var 和 Type *var 有什么区别?

从范围 block 分配返回值的 C 变量?

linux - 如何用文本文件中的行号替换特定行?

linux - 如何从 “permission denied” 中排除所有 “grep” 结果行?

c - 我怎样才能编译和运行这个项目?

c# - 如何在.Net中列出堆中的所有托管对象?

c - 堆、栈、文本等不同段与物理内存有何关系?