草庐IT

heap_string_malloc

全部标签

C malloc + free 不断增加内存占用

我有一个处理大量数据(100+KB)的C应用程序。我正在使用malloc()来分配所需的内存。(char*)malloc(argLen+18+2)执行后,我使用free释放分配的内存。据我所知,由于某些原因,释放的内存没有返回给操作系统。我的问题是,当我再次运行该程序时,它并没有重新使用分配的内存,而是不断增加我的应用程序的内存使用量。编辑:对于造成的困惑,我深表歉意。该进程是一个WebSocket服务。除非有意停止,否则它不会终止。这是否意味着该进程将继续增加其内存使用量并且不会释放分配的内存,除非我手动重新启动它? 最佳答案 I

windows - 如何在 Powershell 中的 System.String 类型的字符串中添加值

问题描述:我正在尝试执行此处提到的任务-https://codereview.stackexchange.com/questions/182483/advent-of-code-2017-day-1-sum-of-digits-matching-the-next-digit-circular-list但是在WindowsPowerShell中使用简单的循环逻辑(因为我是PowerShell的新手)该任务需要查看一个数字序列,并找到与列表中的下一个数字相匹配的所有数字的总和。该列表是循环的,因此最后一位数字之后的数字是列表中的第一位数字。例如:1122producesasumof3(1+

c - Malloc 在一些调用后不工作(C,在 Windows 10 上用 gcc 为 MinGW-W64 编译)

我需要测试我的项目在Windows上的性能。我有一个数组数组rede_conexoes,并在一个循环中分配每个位置,但经过一些迭代后,malloc函数不起作用,并且在我可以之前突然停止我的进程甚至测试返回值也没有显示错误信息。该代码在Windows10的WSL(适用于Linux的Windows子系统)上运行良好。为了在Windows上本地测试代码,我为gcc编译器安装了Mingw-w64(找不到更好的解决方案,因为支持需要OpenMP)。下面是带有malloc函数的片段:bool**rede_conexoes=(bool**)malloc(num_PL*sizeof(bool*));.

c++ - std::string 连接的运行时依赖

std::stringsAttr("");sAttr=sAttr+VAL_TAG_OPEN+sVal->c_str()+VAL_TAG_CLOSE;我定义的代码中的其他地方constcharVAL_TAG_OPEN[]="";sVal是一个从字符串指针数组中检索的变量。这在大多数系统、windows和linux中都可以正常工作。然而,在一个客户站点,我相信有一个我们已经进行了广泛测试的linux版本,产生的结果就好像我从未使用过VAL_TAG_OPEN和VAL_TAG_CLOSE。我收到的结果是为了sAttr=sAttr+sVal->c_str();发生了什么事?std::string

C++ 将数据从 std::string 复制到 std::wstring

假设我有一个std::string,但数据是用UTF-16编码的。我如何才能将该数据复制到std::wstring中,而根本不修改数据?此外,我不能只使用std::wstring,因为我正在在线检索文本文件并检查Content-Typeheader字段以确定编码。但是使用std::string来接收数据。 最佳答案 std::wstringPackUTF16(conststd::string&input){if(input.size()%2!=0)throwstd::invalid_argument("inputlengthmust

string 字符串和字节 base64 json的相互转换

目录一、String和字节的相互转换二、json字符串和对象的相互转换简单记录下字节、字符串之间相互的转换,因为写的时候经常会混淆,后续会持续补充一些简单方法。一、String和字节的相互转换1、字符串转字节数组//定义字符串Stringstr="你好Hello!123";//字符串转字节数组byte[]bytes=str.getBytes();//输出字节数组System.out.println(Arrays.toString(bytes));2、字节数组转字符串StringstrEnd=newString(bytes);System.out.println(strEnd);3、字节转bas

Windows 批处理 : Split String to individual characters to variables

在WindowsBatch中,如果我有一个变量(长度可以改变),例如:“helloworld!”是否可以“拆分”变量,使每个字符都是自己的变量,因此输出可能如下所示:t1=ht2=et3=letc.如有任何帮助,我们将不胜感激。 最佳答案 使用这段代码:setlocalEnableDelayedExpansionsetstr="helloworld^!"settempstr=%str%setcount=0:loopifdefinedtempstr(settempstr=%tempstr:~1%set/acount+=1set/apo

c++ - 如何获取 %AppData% 路径作为 std::string?

我读到可以使用SHGetSpecialFolderPath();获取AppData路径。但是,它返回一个TCHAR数组。我需要一个std::string。如何将它转换为std::string?更新我读到可以使用getenv("APPDATA"),但它在WindowsXP中不可用。我想支持WindowsXP-Windows10。 最佳答案 Ttype表示SHGetSpecialFolderPath是一对函数:SHGetSpecialFolderPathA适用于WindowsANSI编码char基于文本,以及SHGetSpecialFo

windows - 批处理脚本 : Why does this print "= instead of the empty string?

我正在尝试使用Batch中的参数扩展删除某些文本中的引号。谁能告诉我这是为什么:@echooffsetlocalsetargs=%*echo%args:"=%prints"=而不是什么都没有?据我所知,%args:"=%应该将所有引号替换为空,所以我不明白为什么这正在发生。任何帮助将不胜感激,谢谢!编辑:为了澄清,我没有将任何参数传递给批处理脚本。 最佳答案 这是您不向脚本传递任何参数时得到的结果。如果未定义args,则%args:"=%展开如下:%args:被当做一个不存在的变量展开,变成nothing"=被当作它自己%(单独的百

string - 汉字输出时如何避免乱码

我发现一个关于writeFile将汉字写入文件的奇怪问题。>writeFile"r.txt""过"--outputtingasexpected.>writeFile"r.txt""图"--notdisplayingasexpected.seethefollowing:然后奇怪的事情发生了:>writeFile"r.txt""图画"--outputtingisnormal,asfollows:更多显示乱码的例子:>writeFile"r.txt""士">writeFile"r.txt""十">writeFile"r.txt""千">writeFile"r.txt""一">writeFil