memory相关内容

局部变量分配的堆栈顺序

在这两个函数看看: 无效功能1(){ INT X; 诠释Ÿ; INT Z者除外; INT * RET; }无效函数2(){ 炭缓冲器1 [4]; 炭缓冲器2 [4]; 炭buffer3 [4]; INT * RET; } 如果我在突破功能1()在 GDB ,并打印变量的地址,我得到这个(GDB)P和; X $ 1 =(INT * ..
发布时间:2016-08-17 21:31:11 C/C++

写入字符串时分段错误

我想写一个就地反转功能,并遵循在线code pretty究竟多大,但运行下面的程序将引发总线错误。我在传递错误的一种说法逆转()? void反转(字符* STR){ 字符*结束= str中; 焦炭TMP; 如果(STR){ 而(*完){ ++结束; } - 结束; 而(STR&LT ..
发布时间:2016-08-17 21:17:25 C/C++

凡在内存中保存在c我的变量?

这是考虑到内存分为四个部分:数据,堆,栈,code,其中做全局变量,静态变量,常量数据类型,局部变量(定义和函数声明),变量(在主函数),指针和动态分配空间(使用malloc,释放calloc)获得存储在内存中? 我想他们会作如下分配​​: 全局变量------->数据 静态变量------->数据 常量数据类型-----> code 局部变量(声明和功能定义)-------->栈 ..
发布时间:2016-08-17 21:13:47 C/C++

如果指针C变更多少内存将被释放?

假设有内存20块和一个指针 P 指向第一个块。 现在,当我做的: 点++; 自由(对); 如何记忆很多块将被释放,为什么? 解决方案 取消确定性。不能说。您需要提供这是由返回)确切的指针的malloc(。 指针传递到免费()它不受返回的malloc() [家庭]是未定义行为。 根据你的问题,如果的malloc() -ed指针存储在 P ,和你做点++ 并调用免费(p); ,那么 p 是 ..
发布时间:2016-08-17 20:54:56 C/C++

通过指针在C和C ++函数返回的本地数据

我和我的朋友的说法。他说,我可以从一个函数返回一个指针到本地数据。这不是我所学,但我无法找到反驳他,证明我的知识。 下面说明情况: 的char *名称(){ CHAR N [10] =“bodacydo!”; 返回N; } 和它的使用为: INT的main(){ 字符* N =名(); 的printf(“%S \\ N”,N); } 他说,这是完全可以的 ..
发布时间:2016-08-17 20:54:40 C/C++

为什么用于空指针地址为零?

在C(或C ++为此事),指针是特殊的,如果他们有值为零:我劝他们释放内存后置指针为零,因为这意味着释放的指针又没有危险;当我调用malloc返回零值的指针,如果它不能让我记忆;我使用如果(P!= 0)所有的时间,以确保传递指针是有效的,等等。 不过,由于内存寻址0开始,不为0,就像其他任何一个有效的地址?如何能0用于处理空指针,如果是这样的话?为什么不是负数空呢? 编辑: 一堆好答案。我会 ..
发布时间:2016-08-17 20:49:14 C/C++开发

怎样的malloc()内部实现的?

任何人都可以解释如何的malloc()内部工作? 我有时做 strace的程序,我看到了很多 SBRK 系统调用,这样做男人SBRK 讲座>的malloc()但没有更多。 解决方案 的 SBRK 系统调用移动数据段的“边界”。这意味着移动的区域的边界,其中一个程序可以读/写数据(使其扩大或缩小,但据我所知没有的malloc 有板有眼内存段回内核与该方法)。除此之外,这里还有 MMAP 这 ..
发布时间:2016-08-17 20:49:04 C/C++

堆栈是否向上或向下的成长?

我有这块code在C: INT Q = 10; INT S = 5; 诠释一个[3];的printf(“一个地址数:%d \\ n”,(INT)一); 的printf(“一个[1]的地址数:%d \\ n”,(INT)及一个[1]); 输出(“A [2]的地址数:%d \\ n”,(INT)及一个[2]); 的printf(“Q地址数:%d \\ n”,(INT)及Q); 的printf(“S ..
发布时间:2016-08-17 20:46:47 C/C++

如何用C自由和malloc的工作?

我试图弄清楚发生了什么事想如果我尝试“从中间”释放的指针 例如,看看下面code: 的char * PTR =(字符*)malloc的(10 * sizeof的(炭));为(字符I = 0; I&小于10 ++ⅰ) { PTR [I] = I + 10; } ++ PTR; ++ PTR; ++ PTR; ++ PTR; 免费(PTR); 我得到一个未处理的异常错误味精崩溃。 我想知道为什 ..
发布时间:2016-08-17 20:43:39 C/C++

静态内存分配和动态内存分配的区别

我想知道什么是静态内存分配和动态内存分配的区别? 您可以与任何实际的例子解释一下吗? 解决方案 有三种类型的配置 - 静态的,自动的,动态 的静态分配的意思,该程序启动时为你的变量分配内存。在创建程序时的尺寸是固定的。它适用于全局变量,文件作用域变量和变量与静态在函数内部定义的合格。 的自动分配内存的出现对内部函数定义(非静态)变量,通常存储在的栈的(尽管C标准并不要求一个堆栈时)。 ..

"注册"关键字用C?

什么是注册关键字C语言吗?我已阅读,它用于优化但不以任何标准明确规定。它仍然是相关的,如果是这样,当你使用它? 解决方案 这是编译器一个暗示,该变量将被频繁使用,并且您推荐如果可能的话它被保存在一个寄存器。 大多数现代编译器做自动,并且在挑选他们比我们人类更好。 ..
发布时间:2016-08-17 20:40:46 C/C++

确定在C动态分配的内存大小

有没有在C办法,找出动态分配的内存的大小? 对于例如,假设我说 的char * p = malloc的(sizeof的(字符)* 100); 现在是有办法找出记忆与对相关联的大小? 解决方案 comp.lang.c常见问题列表·问题7.27 - Q值。所以,我可以查询的malloc 包找出一个分配的块有多大? 一个。不幸的是,没有标准或可移植的方法。 (一些编译器提供 ..
发布时间:2016-08-17 20:40:14 C/C++

值是sizeof(一些指针)总是等于四?

例如: 的sizeof(字符*)返回4一样为int * ,久长* ,我已经竭尽所能。是否有任何例外? 解决方案 你得到的保证是,的sizeof(char)的== 1 。有没有其他的担保,包括不保证的sizeof(INT *)==的sizeof(双*)。 在实践中,三分球的大小为2的16位系统上的64位系统上(如果你能找到一个),4在32位系统上,和8,但没有什么依托中获得在给定的尺寸。 ..
发布时间:2016-08-17 20:35:04 C/C++开发

如何确定CPU和内存消耗从进程中?

我曾经从正在运行的应用程序中确定以下性能参数的任务: 总可用虚拟内存 目前使用的虚拟内存 目前使用的过程中我的虚拟内存 总可用RAM 目前使用的RAM 目前使用的我的过程RAM 目前使用的CPU% 目前使用的我的过程%的CPU 在code必须在Windows和Linux上运行。尽管这似乎是一个标准的任务,发现在手册中的必要信息(WIN32 API,GNU文档),以及在互联 ..
发布时间:2016-08-17 20:24:05 C/C++开发

什么时候和为什么会操作系统初始化内存0XCD,0xDD等上的malloc /自由/新/删除吗?

我知道,操作系统有时会初始化内存具有一定的图案,如0XCD和0xDD。我想知道的是,当和为什么发生这种情况。 当 这是特定于所使用的编译器? 以同样的方式做的malloc /新和自由/删除工作,对于这一点? 它是特定于平台的? 它会发生在其他操作系统,如Linux或VxWorks的? 为什么 我的理解是这仅发生在Win32的调试配置,它是用来检测内存超支和帮助编译器捕捉异常。 ..
发布时间:2016-08-17 20:22:30 C/C++开发

会发生什么事时,关闭浏览器窗口,形成/ JavaScript的数据?

我有在输入元素收集数据的HTML表单,然后生成(使用jsPDF)用户下载(使用Downloadify JS)的PDF文件。收集的数据包含个人信息。 我需要知道的是将输入到输入元素,然后把它由JavaScript处理的数据,保留在浏览器内存中,当用户浏览其他地方或关闭浏览器窗口? 解决方案 是的,它可能会保留在内存中一段时间​​。这超出你的控制,并将浏览器和操作系统之间的差异。 如果您的 ..
发布时间:2016-08-15 15:07:05 前端开发

XSL变量的内存使用情况

我是新来XSLT.I有一个XML文档,我使用XSL在转换XML到HTML table.The XML是从服务器响应网络client.In这种情况下,IE9浏览器。 XSLT处理由浏览器。多个“CH3”的节点做范围从1到100000。 下面是我在做什么样code。 在下面的xsl code中的变量在每次创建loop.I想知道这是什么创作上的浏览器memory.Also将在有任何性能影响效果? ..
发布时间:2016-08-15 15:03:24 跨浏览器开发

JavaScript的内存限制

有数据的JavaScript应用可以存储的最大金额是多少? 我想这是由浏览器处理,每一个都有其局限性? 如果没有一个上限,将一个页面文件创建?如果是这样,那不是不安全? 解决方案 据我所知,没有上限,直到系统运行的内存(包括交换),你的脚本基本上可以使用内存。无上限并不意味着你必须吃这一切,用户可能不喜欢它。 ..
发布时间:2016-08-15 12:56:33 前端开发