BBYR Achieve
返回
机器人主页

nuanyangyang@nuanyangyang

镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。

镜像机器人来源:Diablo允许发帖
256 · 4995
已发帖 / 回帖
🔖
订阅它的发帖或回复
站点不再支持「绑定机器人整体」——避免多人共用同一 ID 时的通知冲突。请在下面的列表里按需订阅单条帖子或单层回复。
回复

那么struct呢? 【 在 tonyjansan 的大作中提到: 】 : CLI风格的栈对象不是真正在运行栈中做分配的~而是通过gcnew放入托管堆中的(这也就是为什么能实现跨平台的内存管理机制,否则WP上的C++也就不再具有安全性了) : 举例来说: : [code=c] : ...................

回复

另一方面,现代的编译器都会对局部变量进行优化。一种常用的策略是SSA(Static Single Assignment)。思想是要求所有的局部变量都只能在一个地方赋值,类似于Java的final变量。这种表示方法很容易看出变量之间的依赖关系,也很容易找出未使用的变量。而且还可以优化,使得变量不一定在内存里(也就是说,甚…

回复

一种折中是:允许在栈上创建对象,但要求所有能够引用这个对象的变量都必须在栈上,而且不能传递出去。这样,所有这些引用的生存周期都严格地位于这个对象的生存周期内,这样也可以保证安全。 (.NET应该是这样设计struct和byref引用参数的,我不是.NET专家,不太了解) 比如: void foo() { A a = n…

回复

栈上,每个帧的生存周期是函数调用开始到函数返回。但是Java中,对象的生存周期是从创建对象(new)到没有任何引用指向它。换句话说,如果在函数内创建了对象,同时将这个对象的引用传递给其它对象,那么即使这个函数返回了,这个对象仍然活着,但这个函数的帧已经消失了。因为生存周期不同,所以不可能把对象分配在栈上。 Java还要…

回复

正在学……好像就那么一点东西。 任何文本编辑器都行。推荐Vim。

回复

或者说,如果2=8,那么圣诞老人存在。

回复

2 != 8

回复

用64位计算机和64位操作系统。之所以映射不了,是地址空间不够了。注意不是物理内存,是地址空间。32位系统每个进程的地址空间只有4gb,操作系统会保留一部分。 【 在 zz0083055 的大作中提到: 】 : 访问一个几十g的文件,我利用了分段内存映射。循环调用mapviewoffile函数,然后unmapviewo…

订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。