c - 如何得到C程序的空间复杂度?

标签 c algorithm gcc cygwin

我正在尝试制作一个在线C编译器,以便多个用户可以在中央服务器上编译他们的代码。我可以判断他们的代码。

我想计算C程序的时间复杂度~CPU使用率和空间复杂度~内存使用率。我正在使用 Windows XPcygwin gcc 4.5 编译器

作为一个博客,我试图通过 pview 获取进程的内存使用情况

c:\cygwin\bin\gcc-3.exe -Wall source.c  -o a.exe 2>&1 | pv -o"%i\t%e\t%c2%%\t%m(K)\t%n" gcc-3.exe

在每种情况下,它都会返回gcc-3 的内存使用量为 3520 KB,尝试使用1000KB 大小或不使用大小,即简单的 printf 语句。 p>

你能帮我通过自动方式计算程序的内存使用量或空间复杂度吗?这没有必要使用上面的代码,这只是我在尝试。

欢迎提出建议和解答

最佳答案

在Cygwin下,我猜你可以使用getrusage 。它包含许多有关内存使用情况的信息。 This question提供有关其工作原理的更多信息和实际示例。

对于仅限 Windows 的程序,您有 GetProcessMemoryInfo 。请参阅this question有关其工作原理的更多信息。

关于c - 如何得到C程序的空间复杂度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9566874/

相关文章:

c++ - 如何知道(在 GCC 中)何时声明了给定的宏/预处理器符号?

c - 为什么编译器在堆栈中分配的内存多于所需的内存?

c++ - 防止 overdraw 的技术(OpenGL)

c - 函数参数接收一个 int "b"数字但打印一个随机数(函数调用函数)

java - 遍历数组列表的时间复杂度

c - 汇编指令 addl 使用 byte 而不是 long

c++ - 具有无符号短整数的结构的大小

python - 圣人数学重复过程

c - 字符串中的 Booth 算法

c++ - __COUNTER__ 等同于 Xcode?