草庐IT

malloc_ptr_t

全部标签

c - malloc() 是不可重入但线程安全的?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Mallocthread-safe?在阅读《Linux编程接口(interface)》时,我一点儿也不糊涂。书上说malloc是不可重入的,因为它操纵全局链表数据结构,但通过使用互斥锁使其成为线程安全的。我对此有点困惑:既然使用互斥锁是线程安全的,因此可以同时被多个线程调用,为什么它不是可重入函数?(如果说可重入就是可以同时被多个调用者调用)另一个问题是,既然malloc是线程安全的,我们可以把它放在一个信号处理程序中吗?我认为答案是肯定的,但我不确定,因为根据这本书,它说信号处理程序中只能放置可重入或异步信

c - Linux 和 Windows 上的 malloc_size 替代方案

给定一个void*指针,如何知道在这个给定地址上分配的block的大小(以前使用malloc分配;在Linux和Windows中)?我希望这两个系统都能在某个地方存储此类信息。也就是说,OSX/Darwin上存在的malloc_size的替代方案。如果有帮助,请使用gcc/mingw。 最佳答案 在Windows上,使用MSCRT的东西可以使用_msize,在Linux上你可以尝试malloc_usable_size... 关于c-Linux和Windows上的malloc_size替代

c - Linux 和 Windows 上的 malloc_size 替代方案

给定一个void*指针,如何知道在这个给定地址上分配的block的大小(以前使用malloc分配;在Linux和Windows中)?我希望这两个系统都能在某个地方存储此类信息。也就是说,OSX/Darwin上存在的malloc_size的替代方案。如果有帮助,请使用gcc/mingw。 最佳答案 在Windows上,使用MSCRT的东西可以使用_msize,在Linux上你可以尝试malloc_usable_size... 关于c-Linux和Windows上的malloc_size替代

linux - "mov rax, QWORD PTR fs:0x28"汇编指令有什么作用?

这个问题在这里已经有了答案:Whydoesthismemoryaddress%fs:0x28(fs[0x28])havearandomvalue?(3个答案)关闭4年前。紧接执行此指令之前,fs包含0x0。另外我想知道如何从GDB中的这个内存区域读取,该命令是什么?

linux - "mov rax, QWORD PTR fs:0x28"汇编指令有什么作用?

这个问题在这里已经有了答案:Whydoesthismemoryaddress%fs:0x28(fs[0x28])havearandomvalue?(3个答案)关闭4年前。紧接执行此指令之前,fs包含0x0。另外我想知道如何从GDB中的这个内存区域读取,该命令是什么?

c - 如果我使用 mmap 而不是 malloc 分配内存会怎样?

与使用malloc相比,使用mmap(使用MAP_PRIVATE和MAP_ANONYMOUS)分配内存有什么缺点?对于函数作用域中的数据,无论如何我都会使用堆栈内存,因此不会使用malloc.我想到的一个缺点是对于动态数据结构,例如树和链表,您经常需要分配和释放小块数据。使用mmap会很昂贵,原因有两个,一个是在4096字节的粒度上分配,另一个是需要进行系统调用。但是在其他场景下,你觉得malloc比mmap好吗?其次,我是否高估了mmap对于动态数据结构的劣势?mmap优于malloc我能想到的一个优点是,当您执行munmap时,内存会立即返回给操作系统,而使用malloc/free

c - 如果我使用 mmap 而不是 malloc 分配内存会怎样?

与使用malloc相比,使用mmap(使用MAP_PRIVATE和MAP_ANONYMOUS)分配内存有什么缺点?对于函数作用域中的数据,无论如何我都会使用堆栈内存,因此不会使用malloc.我想到的一个缺点是对于动态数据结构,例如树和链表,您经常需要分配和释放小块数据。使用mmap会很昂贵,原因有两个,一个是在4096字节的粒度上分配,另一个是需要进行系统调用。但是在其他场景下,你觉得malloc比mmap好吗?其次,我是否高估了mmap对于动态数据结构的劣势?mmap优于malloc我能想到的一个优点是,当您执行munmap时,内存会立即返回给操作系统,而使用malloc/free

c - malloc 是确定性的吗?

ma​​lloc是确定性的吗?假设我有一个fork进程,即另一个进程的副本,并且在某个时候它们都调用了ma​​lloc函数。分配的地址在两个进程中是否相同?假设执行的其他部分也是确定性的。注意:这里我只谈虚拟内存,不谈物理内存。 最佳答案 它根本没有理由是确定性的,事实上,它不是确定性的可能有一些好处,例如increasingthecomplexityofexploitingbugs(另请参见thispaper)。这种随机性有助于使漏洞更难编写。要成功利用缓冲区溢出,您通常需要做两件事:将有效载荷传送到可预测/已知的内存位置使执行跳

c - malloc 是确定性的吗?

ma​​lloc是确定性的吗?假设我有一个fork进程,即另一个进程的副本,并且在某个时候它们都调用了ma​​lloc函数。分配的地址在两个进程中是否相同?假设执行的其他部分也是确定性的。注意:这里我只谈虚拟内存,不谈物理内存。 最佳答案 它根本没有理由是确定性的,事实上,它不是确定性的可能有一些好处,例如increasingthecomplexityofexploitingbugs(另请参见thispaper)。这种随机性有助于使漏洞更难编写。要成功利用缓冲区溢出,您通常需要做两件事:将有效载荷传送到可预测/已知的内存位置使执行跳

DNS域名解析,以及A、AAAA、CNAME、MX、NS、TXT、SRV、SOA、PTR说明

温故知新,最近网上开到相关文章,这里终结记录一下,供大家参考。目录1.A记录2、CNAME:两种域名解析方式4、NS记录5、TXT记录:6、AAAA记录:7、SRV记录:8、SOA记录:9、PTR记录:10、相关说明11.DNS解析中一些问题11.1 A记录与CNAME记录11.2 A记录与AAAA记录11.3 IPv4与IPv611.4 TTL值12、查看DNS方法(dig、nslookup工具)参考:1.A记录        A(Address)记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的webserver上。同时也可以设置您域名的二级域名。