腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
4
回答
为什么悬空指针引用会使程序崩溃
c++
、
c
、
pointers
、
memory
、
memory-management
据我所知,在
C
/
C
++中,在我们通过指针p释放内存对象o之后,p变成了一个悬空指针,它指向语义上无效的内存地址addr。也许稍后,内存
分配
器会将addr重新
分配
给另一个内存对象。无论是否发生这种情况,os都将认为addr仍然是要访问的合法地址,因为
存储器
分配
器仅从os请求
存储器
,而从不将
存储器
交还给os。所以根本不应该有崩溃。谁能告诉我我的理解哪里错了?
浏览 0
提问于2016-03-22
得票数 1
1
回答
将硬编码的地址赋值给
C
中的指针
c
、
pointers
我很奇怪为什么我的编译器允许我硬编码的指针地址?为什么它没有崩溃?正如我所说的,逻辑地址是由编译器选择的。 main() int *p; p = 10; // why it is allowed? Ideally, it should be int a; p = &a; printf("%u", p); }
浏览 13
提问于2021-09-26
得票数 0
4
回答
区分不能/不能引用未定义内存的
语言
的术语
programming-languages
、
computer-science
、
terminology
我一直把
语言
分成两类……允许你引用“未定义的”(uninitialized,freed,等等)内存,如
C
、
C
++、COBOL (?)、汇编等,以及不能使用的内存,如Java、Perl、
C
#和Basic。有没有一个“计算机科学”的术语来描述这种区别?说到这里,有没有一个计算机科学术语可以用来形容我所说的“未定义记忆”?
浏览 1
提问于2009-07-23
得票数 0
回答已采纳
1
回答
在给定内存
分配
号的全局中查找内存泄漏
c++
、
memory-leaks
、
visual-studio-2019
我试图使用VS 2019年在我的
c
++程序中找到一个内存泄漏。Data: < 5 > D8 35 0F 05 00 00 00 00#include "stdafx.h"这就产生了一个额外的信息:因此,
存储器
分配
号3880低于用于
浏览 2
提问于2020-07-15
得票数 0
回答已采纳
1
回答
用于提供高效连接的字符串的模板库
c++
、
template-meta-programming
Blitz++通过模板元编程提高了矩阵/向量操作的速度,在编译时从A + B +
C
等表达式构建“语法树”,然后计算语法树。例如,这种方法可以改进串连接的性能,因为在看过像s1 + s2 + s3这样的表达式之后,结果的大小将是已知的,从而可以在一个步骤中完成
存储器
分配
和复制,而不是首先为s1 + s2
分配
存储器
、复制、为(s1 + s2) + s3
分配
存储器
,然后再复制。
浏览 0
提问于2012-11-12
得票数 4
回答已采纳
1
回答
如何将内存硬件连接到
C
++程序?
c++
、
interfacing
如果我有一个特殊的硬件单元,里面有一些
存储器
,它连接到计算机并进行了内存映射,因此它的
存储器
可以在0x55500000 - 0x555fffff地址范围内访问。如果I如何将这个硬件单元连接到我的
C
++程序,以便在这个硬件单元中
分配
动态内存,而不是在我计算机的内存中
分配
动态内存?我需要实现一个包含以下函数的类。void * allocMemoryInMyHardware(int numberOfBytesToAllocate); 它返回一个指向已
分配
内存块的指针,如果无法
分配</e
浏览 7
提问于2012-07-12
得票数 1
0
回答
将程序自己的内存作为数据读取
c
、
ram
、
buffer-overflow
我在看我怎样才能访问我正在运行的程序的当前内存?(我认为任何
语言
都可以从
C
或汇编
语言
开始)
浏览 7
提问于2016-07-03
得票数 2
回答已采纳
3
回答
指针能指向0x000000的地址吗?
c++
、
pointers
变量的地址是否可以合法地
分配
为0x000000,如果是这样的话,是否意味着例如:int example; int * pointerToObject =
浏览 2
提问于2014-09-19
得票数 3
回答已采纳
3
回答
创建
C
++对象时的内存
分配
c++
、
object
、
memory-management
、
new-operator
在下面的类
C
上的对象创建期间观察到不同大小的
存储器
分配
, int i;};
C
*
c
= new
C
;
C
(*
c
3)[2] = new
C
[2][2];
C
分配
8个字节; 为
c
2
分配
浏览 1
提问于2012-01-30
得票数 5
回答已采纳
3
回答
连续内存
分配
c++
、
memory-management
在一个应用程序中,我必须
分配
两个480MB的缓冲区。内存
分配
是使用HeapAlloc方法完成的。该应用程序在运行的应用程序不多的系统中运行良好。但是在其它应用程序也在运行的系统中,由于连续
存储器
的不可用,所以不
分配
存储器
。即使
存储器
空间(非连续的)可用,但它没有被
分配
。 即使非连续内存可用,也需要帮助来
分配
两个480MB的缓冲区。
浏览 4
提问于2013-05-17
得票数 2
1
回答
shmat()函数的标志值
shared-memory
此函数用于将
分配
的内存段附加到调用进程。这需要三个论点。第一个参数对应于
存储器
段的标识符。第二个参数是指向内存段的指针。对于第二个参数,NULL或0值被传递给函数,因为当我们
分配
共享内存时,我们只知道它的标识符,而不是它的内存地址。有谁能解释shmat()函数中的标志值任务吗?
浏览 2
提问于2018-04-14
得票数 1
回答已采纳
1
回答
从PLM51到
C
的移植
c
、
embedded
、
porting
、
code-size
我正在做一个项目,我需要将代码从PLM51移植到
C
。 正在使用8051架构。微控制器是无
存储器
的,使用的是64Kb的外部
存储器
。PLM51码大小接近63Kb。所以我的问题是,当我将我的代码从PLM51移植到
C
语言
时,代码大小是增加还是减少?哪些参数将决定大小的增加/减少?
浏览 7
提问于2015-03-05
得票数 0
0
回答
关于Windows调拨物理
存储器
的疑问?
c 语言
、
c++
、
编程算法
、
windows
在阅读《Windows核心编程(第五版)》时,在内存管理章节的有关操作系统调拨物理
存储器
的一个论述让我感到很困惑。它的原文是这样的:如果我的这个结构体是3B大小(3
浏览 62
提问于2022-09-30
2
回答
Java零矩阵内存使用
java
我试图在java中验证它,但事实证明,内存已经
分配
给指定的大小。我不清楚
C
/
C
++或其他
语言
如matlab和八度,以及它们如何管理矩阵和矢量
存储器
; 我问这个问题的原因是想要构建一个体积很大的稀疏矩阵,但是大多数条目都是零,结果发现java不是一个好的选择,因为java
浏览 4
提问于2014-11-09
得票数 0
回答已采纳
1
回答
修改数组的一个元素,而另一个线程修改同一个数组的另一个元素,是定义良好的行为吗?
c
、
synchronization
、
pthreads
、
undefined-behavior
给定一个类型为foo_t[n]的数组和一组n个线程,其中每个n个线程读取和修改数组的一个不同的元素,我是否需要显式同步数组的修改,还是假设同时修改数组的成员是定义良好的行为?有多大的foo_t /它有什么对齐是重要的吗?
浏览 2
提问于2014-06-21
得票数 8
回答已采纳
1
回答
在Linux中使用proc/pid/status为进程
分配
数据时看到堆大小增加
c++
、
embedded-linux
、
heap-memory
、
profiler
、
metrics
我创建了一个简单的程序,每当用户点击'enter‘时,它将一个整数数组
分配
到堆/空闲存储上。我的最终目标是看到每次新
分配
时堆内存大小的变化。我通过检查状态文件来查看堆内存大小的变化。不幸的是,在每次
分配
时,状态文件都不会更新。这似乎是唯一能让文件更新的方法,如果我用一堆回车符向程序发送垃圾邮件,然后它就会更新。它为什么要这样做?当我在嵌入式系统上工作时,我需要一种可靠的方法来确定我的程序从动态
分配
中占用的内存范围。有没有人能对/proc//status或其他可以确定堆内存大
浏览 1
提问于2018-10-10
得票数 0
3
回答
微芯片XC16下的malloc()能保证产生字对齐的地址吗?
pic
、
microchip
、
xc16
如果对奇数地址上的
存储器
进行16位访问,则dsPic30/33和18E/F部件将产生
存储器
故障。在使用malloc()
分配
堆内存时,是否保证返回地址是字对齐的?我能找到的文档(16位
语言
工具库参考手册50001456J.pdf)在这个问题上是沉默的。
浏览 15
提问于2016-08-18
得票数 2
2
回答
常量与静态常量
c
、
object
、
memory
、
static
、
constants
编译器(例如,GCC)如何
分配
const和static const变量,例如,它将驻留在哪里?在数据
存储器
还是程序
存储器
中?
浏览 0
提问于2011-06-17
得票数 44
回答已采纳
3
回答
通过UTF等对Unicode字符进行编码的必要性是什么?为什么我们不能简单地将它们存储为代码点的二进制呢?
unicode
、
utf
Unicode只是给每个字符
分配
一个整数。UTF-8或其它编码被用来将这些整数(“代码点”)编码成要存储在
存储器
中的字节序列。因此,一些
语言
具有需要多个字节来表示它们的字符。将它们存储为代码点的二进制不是更容易吗?
浏览 2
提问于2010-09-18
得票数 1
回答已采纳
2
回答
C
语言
与指针的几点疑惑
c
、
pointers
return p; int main() char* tem = re(); return 0;我的编译器是Dev-
C
+
浏览 0
提问于2012-06-13
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
c语言-malloc分配内存
C语言快速入门——动态内存分配
C语言入门进阶——动态分配指针数组
C语言基础及指针动态内存分配
Android NDK开发之C语言基础:动态内存分配
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券