PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] C的local variable初始化为什么要无定义?
楼主:
OoShiunoO
(机机勋)
2017-04-30 21:32:17
请问一下,在C语言中
局部变量若没显式定义的话,他不会像全域变量一样默认0
这样设计的理由是什么呢?
以前我都不会理这个问题,只是最近在学计组和compiler
突然觉得需要搞懂~
作者:
james732
(好人超)
2017-04-30 22:52:00
借机问一下,.bss的变量有保证会初始为0吗?
作者:
descent
(“雄辩是银,沉默是金”)
2017-04-30 23:08:00
https://goo.gl/oRNoHi
6.7.8 看来是 c 标准的规定
作者:
b0920075
(Void)
2017-05-01 03:15:00
Linux下.bss段就是给这个segment一个zeroed pages所以一定会是0八
作者:
CoNsTaR
((const *))
2017-05-01 03:58:00
变量…
作者:
LPH66
(-6.2598534e+18f)
2017-05-01 09:12:00
只宣告那编译器只要划空间过去就好, 不用多一道指令搬资料
作者:
ronin728
(浪人)
2017-05-01 09:22:00
因为C有可能会使用Stack存放变量,所以会读到之前的资料如果不这样,那就表示每次都要隐式清理,估计是效能考量
作者:
james732
(好人超)
2017-05-01 10:56:00
stack的处理方式比bss麻烦多了,每个function都要清
作者:
LenaPark
2017-05-01 15:13:00
因为效率从84页开始看,或从头看完.
https://goo.gl/GMJ1DS
作者:
Killercat
(杀人猫™)
2017-05-04 08:15:00
有个更有趣的事实,大多数编译器debug下会做相反的事情写入一个特定数以方便debug不过这个特定数一定不是0就是 XD
作者:
tinlans
( )
2017-05-05 21:40:00
少数 MCU 厂会要求不要把 bss 清 0 XD
作者:
james732
(好人超)
2017-05-05 21:53:00
什么,不把bss清0有什么好处吗?
作者:
Killercat
(杀人猫™)
2017-05-06 10:11:00
之前写kernel lib有use case,该app是拿来dump的而dump可以直接把内存宣告到特定位置上 不清空就可以免去一次copy的时间,不知道上面提的MCU是不是类似case
继续阅读
[问题] (C++)关于template separation compilation model
xie29
Re: [问题]C++ Destuctor跟Delete
yilanP
[问题] socket server 接不到 client 的讯息
timmy852111
[问题] 大数阶乘运算
jellyfishuan
[问题] Leetcode 110 Balanced Binary Tree
PPTHS
[问题] code::blocks下编译dll遇到问题
icetofux
[问题] 进阶project 练习
groot3
[问题] trace code 到底该怎么练?
henry8168
[问题] qt 初始化画面问题
MOONY135
[问题] VC2015
max853211
Links
booklink
Contact Us: admin [ a t ] ucptt.com