nuanyangyang@nuanyangyang
镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。
“那么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…”
订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。