为什么我要执行此代码的细分故障?
我试图找出这段代码的问题: int main(int argc, char *argv[]) { char *s; scanf("%s\n", s); char *t = malloc(sizeof(*s) + 1); strcpy(t, s); t[0…
如何找到glibc库中malloc分配的chunk的大小?
#include #include int main(void) { char * ptr1 = NULL; char * newptr = NULL; ptr1 = (char *) malloc(8 * sizeof(int)); if (ptr1 == NULL) exit…
为什么malloc可以比mmap分配更多的内存?
我正在尝试查看可以在 64 位 Linux 上分配多少虚拟内存,当前通过 repl.it 运行 Ubuntu 。我使用一些简单的代码通过重复调用 realloc() 或 mmap() 进…
默认情况下,全局/本地结构指针的删除值是否总是设置为0(或等效)?
I know that global/static variables are by default set to 0 or equivalent in C. How about a pointer to a struct? For instance, consider the …
释放后将变量设置为 NULL
在我的公司,有一条编码规则,即释放任何内存后,将变量重置为NULL。例如...... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); …
为什么输入相同的值时,其哈希值会不同?在C中
我正在使用 SHA1 来加密我的 ID。 但是,即使我输入相同的 ID,它的哈希值也会不同。 这是我的代码: #include #include #include #include #include …
kmalloc() 函数如何工作?
我正在阅读Jamesm的内核开发教程,并在解释如何设置分页内存管理机制的“章节”中,显示了Kmalloc()函数,应该分配一些内存。 这是功能: u32int km…
%rax 寄存器是否包含“调用”之后函数的返回值?操作说明?
这是一个简单的反汇编代码。 push %rbp mov %rsp,%rbp sub $0x10,%rsp movq $0x0,-0x8(%rbp) mov $0xf,%edi callq 1070 mov %rax,-0x8(%rbp) mov -0x8…
将值存储在 malloc 和对齐的指针 C 后面
参考代码:https://embeddedartistry.com/blog/2017/ 02/22/generating-aligned-memory/ void * aligned_malloc(size_t align, size_t size) { void *…
C 中指针传递到指针背后的逻辑
我从这个页面:常见问题解答中了解到,如果您想在函数内初始化指针,那么你应该传递一个指针到指针,即 **p as foo1() void foo1(int **p) { *p = mal…
在C中为大.txt文件分配内存
我需要使用 malloc 或 calloc 为一个如下所示的大文件分配内存: 2357 VKLYKK 7947 1WTFWZ 3102 F2IXK3 2963 EXMW55 2865 50CJES 2510 8PC1AI 该 .txt…
我在哪里访问非法内存? realloc():下一个大小无效
我正在为操作系统课程作业制作一个 shell 模拟器。 我们被要求添加一个“历史”命令,当键入该命令时,应打印用户输入的命令列表。 我决定使用历史数…