小编Wim*_*Wim的帖子

垃圾收集是否在标准C++中自动进行?

根据我的理解,在标准C++中,无论何时使用new运算符,您还必须在某些时候使用delete运算符来防止内存泄漏.这是因为C++中没有垃圾收集.在.NET中,垃圾收集是自动的,因此无需担心内存管理.我的理解是否正确?谢谢.

.net c++ garbage-collection

14
推荐指数
3
解决办法
4678
查看次数

通过x86 PAT表将内存设置为不可缓存

我想在用户空间进程中将一系列内存设置为不可缓存(Linux,x86-86).这个问题很接近,但只提到了与物理内存一起工作的MTRR寄存器.我想使用PAT表来实现这一点,因为它们提供了更细粒度的控制,它们允许虚拟内存在逐页的基础上设置为不可缓存.

Linux文档,Documentation/x86/pat.txt,表明应该有一些东西mmap和一个SYNC标志,但我在实践中找不到如何做到这一点.理想情况下,我想使用诸如此类的电话mprotect(address, range, O_UNCACHABLE).

linux x86

9
推荐指数
1
解决办法
2050
查看次数

确定printf参数的数量

是否有标准的C/C++函数,给定printf格式字符串,返回它所期望的参数数量?例如:

num_printf_args("%d %s") == 2;
num_printf_args("%.1f%%") == 1;
num_printf_args("%*d") == 2;
Run Code Online (Sandbox Code Playgroud)

只计算%格式字符串中的数字将是第一个近似值,它在第一个示例中起作用,但显然不在第二个和第三个示例中.

我知道gcc可以做到这一点,因为在编译时它会在实际传递给的参数数量(以及它们的类型)printf与格式字符串不匹配时抱怨.

c

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

标签 统计

.net ×1

c ×1

c++ ×1

garbage-collection ×1

linux ×1

x86 ×1