腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
4
回答
有没有可能用
C
写一个类似于_
alloca
的函数?
、
、
函数_
alloca
(
alloca
)在堆栈上分配内存,这不需要“空闲”。另一种说法是:_
alloca
做到了!或者这在
C
中是不可能的,因为其他原因包括: 1)功能是用ASM编写的;2)它是
C
运行时库的一个特征。我对编写类似
alloca
的函数感兴趣的原因如下:{ sn
浏览 5
提问于2013-06-12
得票数 0
1
回答
在
C
++中,
alloca
()可以替代自动指针吗?
、
、
alloca
()用于从堆栈分配内存,堆栈在到达作用域的末尾时会自动释放。同时,
C
++中的自动指针确保在堆栈缠绕期间自动释放堆中动态分配的内存。
alloca
()提供了类似于自动指针提供的自动回收功能,这样说对吗?
浏览 0
提问于2014-05-15
得票数 1
1
回答
固定大小数组与
alloca
(或VLA)
、
、
、
什么时候,通过声明一个固定大小的数组,
alloca
()比在堆栈上分配内存更可取? 正如我们所知,
alloca
()是一个有争议的功能。如果不小心使用,则会导致堆栈溢出。在中,关于为什么
alloca
被认为是坏的,一些顶尖的答案提倡偶尔使用
alloca
。使用
alloca
与固定大小的数组有什么折衷之处?如果有的话,
浏览 3
提问于2016-10-03
得票数 5
回答已采纳
2
回答
用
C
语言
包装
alloca
函数
、
、
、
可以将
C
函数
alloca
包装成“另一个”吗?(当然只有宏)#define my_
alloca
(size) \({ \{ printStackFrameAd
浏览 5
提问于2014-05-31
得票数 1
回答已采纳
1
回答
如果没有递归函数调用,堆栈溢出会发生吗?
通常,当程序由于堆栈溢出而崩溃时,这意味着有一个没有适当退出条件的递归调用。但是有没有其他方法可以让堆栈溢出呢?
浏览 2
提问于2014-02-19
得票数 0
2
回答
如何使用
alloca
分配
C
函数指针?
、
、
C
语言
一直是个谜! return v;{ char *
c
= &st
浏览 6
提问于2011-07-30
得票数 0
回答已采纳
11
回答
Alloca
实现
、
、
、
、
如何在D、
C
和
C
++等
语言
中使用内联x86汇编器实现
alloca
()?我想创建一个稍微修改过的版本,但首先我需要知道标准版本是如何实现的。编辑:我想最难的部分是我想让它具有正常的函数调用语法,例如使用一个裸函数或其他什么,让它看起来像普通的
alloca
()。 编辑# 2:啊,怎么回事,你可以假设我们没有遗漏帧指针。
浏览 12
提问于2009-04-03
得票数 34
回答已采纳
1
回答
为什么gcc99指出毫无意义的错误,而标准gcc却没有?
、
、
. */ snd_pcm_hw_params_any-std=
c
99 -lasound test.
c
: In function ‘main’: test.
c
:36:3: warning: implicit declarationof function ‘
alloca
’ [-Wimplic
浏览 4
提问于2015-03-08
得票数 2
回答已采纳
3
回答
alloca
函数作用域中的goto有效吗?
、
、
、
C
标准禁止goto进入存在VLA的函数范围。那么,下面的代码段是否也是未定义的行为呢?int main() char *p; p = _
alloca
(1); p = NULL;
浏览 6
提问于2014-05-23
得票数 9
回答已采纳
1
回答
使用Class作用域动态分配堆栈内存
、
、
、
、
一些编译器支持对
C
++的扩展,从而可以在堆栈上动态分配内存。例如,g++支持
alloca
()和VLA。所有这些扩展都附带一个警告,即动态分配的内存在调用函数的作用域结束时被“释放”。(编辑:为了清楚起见,我在“已释放”前后使用了引号,因为实际发生的情况是编译器递减/递增堆栈指针,这就是为什么
alloca
()需要编译器支持。)这意味着一旦构造函数返回,在类的构造函数中使用
alloca
()分配的内存就会被释放。 在构造函数通过一些重要步骤来确定要分配多少内存的类中,这种限制变得很难处理。此外,在我的代码中加入能够使用
浏览 3
提问于2012-07-31
得票数 0
回答已采纳
5
回答
使用
alloca
分配内存时的无效转换
、
这段代码 Serial.begin(9600); } int StringLength
浏览 7
提问于2011-12-11
得票数 1
回答已采纳
1
回答
从另一个函数调用参数调用
alloca
( )?
、
、
为什么调用alloc( )作为另一个函数调用的参数,比如这个func(x,
alloca
(size), z);,根据一本叫做the linux programming interface的书被认为是错误的--这是因为由
alloca
()分配的堆栈空间将出现在函数参数的空间中间(这些参数放置在堆栈帧中的固定位置)。相反,我们必须使用这样的代码:func(x,
alloca
(size), z); /* WRONG!第一个
a
浏览 7
提问于2020-09-16
得票数 0
回答已采纳
3
回答
为什么未分配的内存标记为0xCC?
、
、
为什么我还没有初始化的内存设置为0xCC
浏览 7
提问于2012-08-08
得票数 8
回答已采纳
1
回答
如何在llvm源码级别的调试信息中表示函数式
语言
的调试信息?
、
、
、
我正在为一种基于函数
语言
F#的
语言
开发一个llvm前端。嗯,函数式
语言
匹配的是值的概念,而不是变量。F#还支持所谓的“可变值”变量,我可以将其建模为%llvm.dbg.declare()来跟踪值。值不是由
alloca
创建的,它只是一个值,不会改变。这些例子都是命令式
语言
上的实现,比如
C
,它没有这个不可变的值概念。有人对函数式
语言
的调试信息有什么建议或提示吗?
浏览 2
提问于2013-05-07
得票数 3
1
回答
LLVM:如何分配数组元素?
、
、
我很难弄清楚如何使用LLVM
c
++ API分配数组元素。考虑一下这个
C
代码:{ aa[56] = 7; }clang -S -emit-llvm main.
c
我得到了以下IR (为了简单起见,跳过了属性和其他内容): %1 =
alloca
i32, align 4 %2 =
alloca
我的
语言
非常类似于<e
浏览 14
提问于2022-08-24
得票数 5
回答已采纳
1
回答
与
c
2hs一起使用
alloca
、
、
、
从
c
2hs文档中可以考虑以下内容: `(NotebookClass nb, WidgetClass cld)'*,
alloca
- `PackType' peekEnum*} -> `()'#}notebookQueryTabLabelPacking:: (NotebookClass nb, WidgetCla
浏览 6
提问于2017-11-23
得票数 0
4
回答
没有_
alloca
,GCC怎么编译?
、
、
由于某些原因,我应该用gcc编译一个
C
文件,然后链接到Visual
C
++ 2008项目。VC链接器不能解析符号__
alloca
。例如,{ ....尽管我没有显式调用_
alloca
函数,但这段代码使_
alloca
具有依赖性。 (数组大小很重要。如果我更改了1024
浏览 2
提问于2010-02-28
得票数 5
回答已采纳
3
回答
C
-仅使用ntdll的堆栈分配
、
、
、
、
我知道
alloca
()会这样做,但我不能使用它,因为我只能使用来自ntdll.dll的函数。 谢谢!
浏览 3
提问于2016-12-13
得票数 1
回答已采纳
1
回答
常量传播
、
、
、
我正在使用下面的程序检查llvm的常量传播传递a=1;
c
=a+b; %a =
alloca
i32, align 4 %
c
=
alloca
i32, align 4 store i32 2, i32* %b, align4 store i32 3, i32* %
c
, align 4 &
浏览 4
提问于2016-04-25
得票数 0
回答已采纳
2
回答
如果使用
alloca
在堆栈中的内联函数中分配变量,那么它的引用在内联函数返回后有效吗?
、
、
当我实际使用
C
++时,我正在使用一个api开发一个程序,在该程序中可以方便地使用如下所示的
C
宏:inline void uses_
alloca
(type*& ptr
浏览 0
提问于2016-05-18
得票数 6
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C语言,C+语言
C语言小白入门《一》——C语言简介
C语言编程之C语言加密字符
C语言推箱子源码分享,C语言兴趣视频教程,C语言编程,C语言可视化编程
漫谈C语言及如何学习C语言
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券