JVM的内存区域划分
学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?
由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分...
分类:
其他好文 时间:
2014-06-04 21:44:47
阅读次数:
325
1、右值引用引入的背景临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题。但是C++标准允许编译器对于临时对象的产生具有完全的自由度,从而发展出了Copy
Elision、RVO(包括NRVO)等编译器优化技术,它们可以防止某些情况下临时对象产生和拷贝。下面简单地介绍一下Copy E...
分类:
其他好文 时间:
2014-06-04 18:55:44
阅读次数:
368
一、关于迭代器迭代器是一种方法、get 访问器或运算符,它通过使用 yield
关键字对数组或集合类执行自定义迭代。yield
返回语句会导致源序列中的元素在访问源序列中的下一个元素之前立即返回给调用方。尽管您以方法的形式编写迭代器,但编译器会将其转换为一个实际上是状态机的嵌套类。只要客户端代码中的...
分类:
其他好文 时间:
2014-06-03 07:27:31
阅读次数:
237
1. 什么是SFINAE在C++中有很多的编程技巧(Trick),SFINAE就是其中一种,
他的全义可以翻译为”匹配失败并不是一个错误(Substitution failure is not an error)“.
简单来说他就是专门利用编译器匹配失败的一种技巧.2. 案例比如我们想实现一个通用的...
分类:
编程语言 时间:
2014-05-31 12:43:34
阅读次数:
378
1.tring是c#中的类,String是.net Framework的类(在c#
IDE中不会显示蓝色) 2.# string映射为.net Framework的String
3.果用string,编译器会把它编译成String,所以如果直接用String就可以让编译器少做一点点工作。如果使用c#...
分类:
其他好文 时间:
2014-05-31 12:31:22
阅读次数:
213
前段时间为了做编译器,猛啃了一下编译原理。语法分析部分用的是比较简单上手的LL(1),
自认为LL(1)的理论部分理解得不错,在这里写出来跟大家share一下。关于什么是LL(1),就不赘述了,书上也说得很清楚,就是从左向右扫描输入,然后产生最左推导(就是每次都把最左边的非终结字符用产生式代替)。(...
分类:
其他好文 时间:
2014-05-31 08:13:57
阅读次数:
501
5-1.整型。讲讲Python普通整型和长整型的区别。答:Python
的标准整数类型是最通用的数字类型。在大多数 32 位机器上,标准整数类型的取值范围是-2**31到 2**31-1,也就是-2,147,483,648 到
2,147,483,647。如果在 64 位机器上使用 64 位编译器编...
分类:
编程语言 时间:
2014-05-29 22:49:13
阅读次数:
394
昨天刚刚考完编译原理,私心想着可以做一些与考试无关的东西了。一直想做和图像处理相关的东西,趁这段时间有空学习一下OpenCV,搭建环境真是一件麻烦的事情,搞了近三个小时终于OK了。先来张图:
大致描述一下步骤吧: 一、安装前准备 1、VS2012(网上看到很多用的VS2010,但是基本不影响) 2、...
分类:
其他好文 时间:
2014-05-29 20:45:39
阅读次数:
467
dynamic_cast
(expression)dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的多态性跟程序运行时的状态也有关系,所以不能完全的使用传统的转换方式来替代。但是也因此它是最常用,最不可缺少的一个运算符。与static....
分类:
编程语言 时间:
2014-05-29 19:08:47
阅读次数:
508
我也遇到过此问题,解决的方法:方案一:
在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“否”。此方法阻断了问题产生的源头,其每次生成exe文件时都直接嵌入清单文件,而不是默认的依据时戳而决定是否更新清单文件。方案二:不嵌入清单文件。在项目的“属性|配置属性|清单工具|输入和输出”....
分类:
其他好文 时间:
2014-05-29 18:15:05
阅读次数:
7777