
C++
筋斗云王
这个作者很懒,什么都没留下…
展开
-
Java转义字符和正则表达式
Java中正则表达式和转义字符容易弄混。 我们现在先从概念上区分两者。 所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。 正则表达式功能更强大,在Java中\+"x"叫转义,只有\\+"x"才叫正则表达式。原创 2013-04-10 14:45:57 · 815 阅读 · 0 评论 -
jar 中点的用法
在jar命令的说明中有这样一个用法 jar cvfm classes.jar mymanifest -C foo/ . 意思是将 foo/ 目录中的所有文件归档到 "classes.jar" 中 其中这个点(.)代表什么呢? 代表根目录,就是说将根目录和其下的所有目录和文件一并打包。 如果没有目录只有文件,你可以指定文件的名字!原创 2013-04-10 14:46:12 · 692 阅读 · 0 评论 -
undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit stat
如标题错误,在编译如下代码的时候遇到的,经google得知,我用C编译器去编译C++代码造成的。 gcc C编译器, g++ C++编译器。 #include template T returnSelf(T &v){ return v; } int main(){ int i = 1; float j =原创 2013-04-10 14:47:52 · 5385 阅读 · 0 评论 -
Java class文件的opcode
使用Java自带的工具javap可以查看Java class文件的机器码。 例:javap -c className public Activity(); 0 aload_0 1 invokespecial 4 new 7 dup 8 ldc aload_0 就是一个操作指令,这些指令都对应一些固定的数值,这些数值你原创 2013-04-10 14:47:20 · 1242 阅读 · 0 评论 -
单精度的浮点数的精度
单精度浮点数(float)在c语言中用32位字节来存储,其中1位存符号位,8位存指数位,23位存尾数位(一个小数),尾数的长短决定了此数的精度,23*log10 2 ≈7.2,所以我们用单精度浮点数可以保证7位10进制精度。原创 2013-04-10 14:47:31 · 1791 阅读 · 0 评论 -
volatitle 和多线程开发
C/C++中: 编译器在编译程序的时候会对程序指令做一些优化,如改变一些指令的执行顺序,或者把变量的值拷贝到寄存器中,然后在接下来的使用中从寄存器中快速的取得该值。 然而这些优化行为有可能在多线程环境中造成临界区数据竞赛,想象一下两个线程A,B都在访问一个变量C,当A在访问变量C时,编译器做了优化,将C的值拷贝到了寄存器中已备告诉访问,问题来了,如果B改变了C变量原创 2013-04-10 14:47:39 · 1604 阅读 · 0 评论 -
temporary of type `int'
执行下面的语句你会得到错误: invalid initialization of non-const reference of type ‘int&’ from a temporary of type ‘int’ int &z = 12; 12 这个值是没有名字的,所以它是临时的(temporary),不能将一个temporary的变量赋值给一个引用(&修饰的)类型。原创 2013-04-10 14:47:54 · 4064 阅读 · 0 评论