草庐IT

wrap_malloc

全部标签

c++ - QProcess with non-wrapped pipe symbol |在参数列表中

你好,亲爱的stackoverflow用户,尝试在Windows上使用QProcess运行命令时遇到问题。除了对一个论点的解释外,一切正常。我正在调用vcbuild.exe来构建visualstudio2008解决方案。调用看起来像这样:QStringprogram="cmd.exe";QStringListarguments;arguments问题是,像“Debug|Win32”这样的名称是许多解决方案的常见配置名称,我想以编程方式构建它,调用我使用QProcess的程序-但符号“|”被视为管道符号,windows说:“命令Win32错误或找不到。”(orig."DerBefehl"

c++ - 跨平台C++ : wrapping OS-specifics behind a class

我正在开发一个应该在Linux和Windows7+上运行的C++项目。这也是我在几年前参加了一个非常简单和简短的基础类(class)之后使用C++的第一周。假设我需要访问文件系统,但由于操作系统有不同的API,我需要创建一个包装类来使事情保持一致。以下是否可行:有一个基类File。我从文件继承WinFile和LinuxFile,它们实现了基类公共(public)方法(例如createFile、readFile等.).然后在两个子类中,我实现了公共(public)方法以映射到特定于平台的方法(WINAPI文件处理和UNIX文件处理)。然后我将使用预处理器指令有条件地在主应用程序中加载Wi

C: 函数没有更新全局数组(使用 strcpy/malloc)

尝试从Windows中的目录获取文件名。通过名为list_files的函数执行此操作。该函数由于某种原因(或看起来像它)没有做任何事情,因为每当我打印数组时,它都是空的。我之前测试过这段代码,它运行良好。我一直在编码(这本来是一个更长的代码)我注意到每当我以后不得不使用数组时它返回0(什么都没有)voidlist_files();char*filesList[0][254];inti=0,n=0,l=254;chardirectory[]={"C:/Users/test/Downloads/test/"};intmain(){list_files();}voidlist_files()

c - 适用于 Windows 的 MALLOC_TRACE

在我们公司,我们有一个类似于mtrace的内部框架glibc中用于检测内存泄漏的(MALLOC_TRACE)功能。这个框架是为在Windows上运行而编写的,但它在GNU/Linux上运行得不是很好。那么,有人知道可以在Windows、GNU/Linux甚至MacOSX上运行的与mtrace(MALLOC_TRACE)等效的可移植版本吗? 最佳答案 你试过dmalloc吗?http://dmalloc.com/也许我认为在linux上valgrind要好得多 关于c-适用于Windows

c++ - 如何保证当一个进程调用malloc()时,它会立即分配物理内存?

我正在寻找一种方法来为进程预分配内存(物理内存),以便在我调用new/malloc时绝对保证它对C++堆可用。我需要此内存可供我的进程使用,而不管其他进程正在尝试使用系统内存做什么。换句话说,我想将物理内存保留到C++堆中,以便在我调用malloc()时立即可用。以下是详细信息:我正在开发一个实时系统。该系统由几个内存消耗大的进程组成。进程A是关键任务进程,它必须存活下来并且不受任何其他进程的不良行为的影响。它通常适合0.5GB的内存,但有时需要多达2.5GB的内存。其他进程尝试使用任意数量的内存。我担心的是其他进程可能会分配大量内存,耗尽系统中的物理内存储备。然后,当进程A需要更多内

windows - 为什么 malloc 会覆盖 RSP 和 RSP+8?

您可以阅读有关64位调用约定的信息here.x64函数应该自行清理,但是,当我从.asm调用malloc时,它会覆盖RSP和RSP+8处的值。这似乎是非常错误的。有什么建议吗?publicTestMallocexternmalloc:near.CODEalign8TestMallocprocmovrcx,100h000000018000BDB848C7C100010000movrcx,100hcallmalloc000000018000BDBFE8CCAC0600callmalloc(180076A90h)ret000000018000BDC4C3ret000000018000BDC5

c++ - 奇怪的 malloc 行为不允许在 64 位进程上分配超过 2GB 的内存

这个问题涉及我正在开发的一个程序。我从事的项目要求不通过网络发送行集或大于2GB的行(网络不能发送大于2GB的数据组)。我已经对代码进行了所有适当的更改,因此它不会发送这个/这些组,但现在我正在尝试构建测试用例。我已经构建了一个测试,它创建了不到10亿行,这些行占用了超过2GB的空间。在通过网络发送这些行之前,程序会正确地过滤掉它们。我遇到的问题是我需要创建一个单独的行来保存一个包含单个字符串的列或列的集合,在该行内,保存字符串,其中该行的大小大于2GB。但是当字符串开始占用接近2GB时,malloc返回NULL。我做了一些研究,发现可能是我没有足够的连续内存,所以我开始添加更多带有较

windows - Windows 内核中的 free/malloc 函数

我在哪里可以找到内核中的free和malloc函数?我确实包含了stdlib.h,但是free和malloc函数不在stdlib.h中。我在哪里可以找到这些功能?谢谢! 最佳答案 看看ExAllocatePoolWithTag.在OSR有一些讨论,如果您正在进行Windows内核编程,这是一个很好的资源。安装WindowsDriverKit/DDK用于本地主机上的所有开发文件和文档。 关于windows-Windows内核中的free/malloc函数,我们在StackOverflow上

c# - Visual Studio /ReSharper : How to wrap long lines with commas before params?

我一直在使用ReSharper自定义我的格式设置以进行代码清理。到目前为止,我已经能够使清理规则与我的编码风格相匹配:ReSharper->选项->语言->C#->格式样式有一件事我还没有弄清楚如何做,那就是如何让参数/字段/列表项用前导逗号而不是尾随逗号包裹。我想要的例子:varlist=newList{"apple","banana","orange"};我目前得到的例子:varlist=newList{"apple","banana","orange"}; 最佳答案 (不是答案,但这不适合发表评论。)有些人喜欢前导逗号而不是尾

c# - LINQ 到 SQL : intermittent AccessViolationException wrapped in TargetInvocationException

几周以来,我们的ASP.NetWeb应用程序遇到了W3WP崩溃。这些是在我们的网络服务器更新后开始的。我们的应用程序没有改变,多年来一直稳定。我们的情况好像很像thisearlierquestion.和thisquestion也可能是相关的,但在我们的例子中,查询在99.9%的使用时间中运行良好。我们使用了大量未编译的LINQ查询,并尝试编译它们是否可以防止这些崩溃。崩溃的数量急剧减少,但它们仍然会发生。同样将我们的查询包装在trycatch中然后捕获TargetInvocationException是行不通的。未捕获异常。当崩溃发生时,我们会得到一个WER报告并可以检索崩溃转储。来自