04 2012 档案

摘要:Erlang 编程手册(第二部分,包括匹配和模块)3 匹配 Pattern Matching3.1 匹配 Pattern Matching变量通过匹配机制进行对数据的绑定。匹配发生在函数的执行过程、case- receive- try-表达式和匹配操作符(=)表达式中。在匹配中,左手边的“pattern模式”将于右手边的项进行匹配。如果匹配成功,则该未绑定变量变为已绑定状态。如果绑定失败,就发生一个运行时错误。例子:1> X.** 1: variable 'X' is unbound **2> X = 2.23> X 1.34> {X, Y} = {1, 阅读全文
posted @ 2012-04-26 12:56 Lunaa 阅读(154) 评论(0) 推荐(0) 编辑
摘要:Erlang 编程参考手册(第一部分)2 数据类型2.1 项TermErlang提供了一组数据类型,我们将在本章节中逐个认识。某种数据类型的一个实例称为一个项。2.2 数值Number这里有两种数值类型,整型和浮点型。除了一些常见的转换外,Erlang还有两种特殊的转换形式:$char获取字符的ASCII码。base#valuebase进制(进制的范围为2到36的整数)。在Erlang 5.2/OTP R9B和早前的版本中,这个范围较小,只能是2到16.例子:1> 42.422> $A.653> $\n.104> 2#101.55> 16#1f.316> 2 阅读全文
posted @ 2012-04-26 12:55 Lunaa 阅读(211) 评论(0) 推荐(0) 编辑
摘要:erlang中使用google protobuf进行通信http://www.codedump.info/?p=231初学erlang,花了不少的功夫,想要在erlang中集成google的protobuf用于消息通信.个人觉得,使用类似protobuf这样通用的编解码模块,有一个好处就是这部分完全交给别人,再不用自己关心什么很操蛋的大小端,数据长度等琐碎的问题,另外,protobuf使用.proto文件自描述协议,C/S端人员可以通过这个来讨论问题,一目了然.然而,要把它集成到erlang中还是一件比较麻烦的事情,一来google官方没有对erlang进行支持,这也许是因为google官方认 阅读全文
posted @ 2012-04-25 23:10 Lunaa 阅读(496) 评论(0) 推荐(0) 编辑
摘要:原文出处:http://www.51testing.com/?uid-225738-action-viewspace-itemid-210333测试机器的硬件信息: 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (看到有8个逻辑CPU, 也知道了CPU型号) # cat /proc/cpuinfo | grep physical | uniq -c 4 physical id : 0 4 physical id : 1 (... 阅读全文
posted @ 2012-04-24 11:57 Lunaa 阅读(144) 评论(0) 推荐(0) 编辑
摘要:cat/etc/sysconfig/network-scripts/ifcfg-eth0用这个可以看到网卡的信息如果有第二块网卡,可以通过cat /etc/sysconfig/network-scripts/ifcfg-eth1查看ifup eth1激活网卡service network restart或者/etc/init.d/service network restart重启网络 阅读全文
posted @ 2012-04-23 21:16 Lunaa 阅读(154) 评论(0) 推荐(0) 编辑
摘要:编辑 /etc/sysconfig/iptables然后运行 /sbin/service iptables restart防火墙规则只有在 iptables 服务运行的时候才能被激活。要手工启动服务,使用以下命令: /sbin/service iptables restart要确保它在系统引导时启动,使用以下命令: /sbin/chkconfig --level 345 iptables onipchains 服务不能和 iptables 服务同时运行。要确定ipchains 服务被禁用,执行以下命令:/sbin/chkconfig --level 345 ipchains off以下是比较常 阅读全文
posted @ 2012-04-23 09:19 Lunaa 阅读(172) 评论(0) 推荐(0) 编辑
摘要:先来了解一下文件属性,在shell环境里输入:ls -l 可以查看当前目录文件。如:drwxr-xr-x 2 nsf users 1024 12-10 17:37 下载文件备份分别对应的是:文件属性 连接数 文件拥有者 所属群组 文件大小 文件修改时间 文件名这里r是可读,w可写,x 可执行,其中文件属性分为四段,---- --- --- 10个位置例如: d rwx r-x r-x 第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。第二段是文件拥有者的属性,第三段是文件所属群组的属性,第四段是对于... 阅读全文
posted @ 2012-04-22 11:43 Lunaa 阅读(202) 评论(0) 推荐(0) 编辑
摘要:linux性能分析工具sar,iostat,vmstatyum install sysstat//安装sarsar [options] [-A] [-o file] t [n]在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,下面只列出常用选项:-A:所有报告的总和。-u:CPU利用率-v:进程、I节点、文件和锁表状态。-d:硬盘使用报告。-r:没有使用的内存页面和硬盘块。-g: 阅读全文
posted @ 2012-04-22 10:15 Lunaa 阅读(199) 评论(0) 推荐(0) 编辑
摘要:What is gprof?(written by Steve Wolfman) Gprof is a profiling program which collects and arranges statistics on your programs.Basically, it looks into each of your functions and inserts code at the head and tail of each one to collect timing information (actually, I don't believe it checks each 阅读全文
posted @ 2012-04-20 22:03 Lunaa 阅读(164) 评论(0) 推荐(0) 编辑
摘要:gprof使用介绍前两天尝试了一下gprof,感觉还挺好,写点东西介绍一下。gprof介绍gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。为gprof编译程序在编译或链接源程序的时候在编译器的命令行参数中加入“-pg”选项,编译时编译器会自动在目标代码中插入用于性能测试的代码片断,这些代码在程序在运行时采集并记录函数的调用关系和调用次数,以及采集并记录 阅读全文
posted @ 2012-04-20 18:45 Lunaa 阅读(139) 评论(0) 推荐(0) 编辑
摘要:一般linux系统自带的都有。 yum install gcc-c++ ##(for RH&FC) 或apt-get ##(for debain) 阅读全文
posted @ 2012-04-17 17:32 Lunaa 阅读(706) 评论(0) 推荐(0) 编辑
摘要:64位Fedora运行32位C++程序所需的类库作者:王传对 | 出处:博客园 | 2011/9/8 19:29:21 | 阅读64次 Debug 1-->/lib/ld-linux.so.2: bad ELFinterpreter: No such file or directorySoulution-->安装32位系统类库 >>yum install glibc.i686 glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。 glibc除了封装linux操作系统所提供的系统服务外,它本身 阅读全文
posted @ 2012-04-16 17:27 Lunaa 阅读(139) 评论(0) 推荐(0) 编辑
摘要:【eNet硅谷动力专稿】HTML 5,这个尚未成形的Web标准最近如此受关注,HTML5是HTML的最新标准,目前仍在完善中。 一旦HTML5获批准,音频和视频就会像今天的文本以及图片一样,成为任何网页的标准部分,意味着网页不需要加载任何播放器就能插放声音和视频,这将大大减少浏览器的工作负担,并提高用户的体验。 另外,HTML5突破了其作为标记语言的界限,增加了很多颇具实用价值的API,而在图像处理方面,HTML5拥有更加强大的图像功能:不仅大大加强了矢量图和位图,还内建了对3D技术的支持,以WebGL为代表的技术可以帮助 HTML5提供硬件3D加速渲染,借助系统显卡在浏览器里流畅地展示... 阅读全文
posted @ 2012-04-12 16:33 Lunaa 阅读(169) 评论(0) 推荐(0) 编辑
摘要:在32位系统下编译64位程序Tiger Soldier posted @ 2008年7月02日 05:53 inlinux with tagsgcc , 1638 阅读 由于某些需要要编译个64位程序,而机子装的系统是32位。因为不想装上64位系统(麻烦&没空间&得用虚拟机),所以尝试了下在32位下编译。首先是设置gcc生成64位的目标代码,这倒是好办,用-m64选项就行。然而光是有这一点还不够,编译本身是要链接其他的库的,而64位代码没有办法链接32位的库。首先是要装上64位的C库,这比较好办,Ubuntu里有libc6-amd64和libc6-dev-amd64这两个包,将 阅读全文
posted @ 2012-04-12 11:15 Lunaa 阅读(501) 评论(0) 推荐(0) 编辑
摘要:编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。在运行的时候,由JVM将字节码再翻译成机器语言。注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后 阅读全文
posted @ 2012-04-10 19:58 Lunaa 阅读(198) 评论(0) 推荐(0) 编辑
摘要:linux下python 2.4升级到 python 2.5 2010-08-08 01:53:33标签:python升级linux 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://linuxhome.blog.51cto.com/515566/369561RHEL 5.4 版本默认安装了Python 2.4.3 ,因为学习环境需要Python 2.5。升级步骤:1.下载源代码 http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz22. 安装 $bzip2-d. 阅读全文
posted @ 2012-04-10 11:52 Lunaa 阅读(158) 评论(0) 推荐(0) 编辑
摘要:linux svn安装和配置,不结合apache张映 发表于 2010-07-07分类目录: 服务器相关今天有个同事在搞SVN服务器,SVN服务器我也算比较熟的了,他在配置的时候遇到了一个问题,就是包函authz这个配置文件老是有问题,以前我装SVN的时候,是和apache结合的http://blog.51yip.com/server/291.html,我那同事装的呢,是单独的没有和apache结合,权限配置有很大的不同。所以晚上回来,我在自己的电脑上装一个。一,安装要的软件wget http://subversion.tigris.org/downloads/subversion-1.6.1 阅读全文
posted @ 2012-04-08 14:30 Lunaa 阅读(155) 评论(0) 推荐(0) 编辑
摘要:关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结一、关于gcc、glibc和binutils模块之间的关系1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。2、binutils提供了一系列用来创建、管理和维护二进制目标文件的工具程序,如汇编(as)、连接(ld)、静态库归档(ar)、反汇编(objdump)、elf结构分析工具(readelf)、无效调试信息和符号的工具(strip)等。通常, 阅读全文
posted @ 2012-04-05 20:35 Lunaa 阅读(156) 评论(0) 推荐(0) 编辑
摘要:关键代码段(Critical Sections) 和自旋锁(Spinlocks)写在前面:今天一哥们问我,windows的临界代码是自旋还是等待,当时想了想应该是等待,后来翻了一下《Windows via C/C++》,发现还有点小意思。总结一下先。关键代码段是指一个小代码段,在代码能够执行前,它必须独占对某些共享资源的访问权。这是让若干行代码能够“以原子操作方式”来使用资源的一种方法。所谓原子操作方式,是指该代码知道没有别的线程要访问该资源。当然,系统仍然能够抑制你的线程的运行,而抢先安排其他线程的运行。不过,在线程退出关键代码段之前,系统将不给想要访问相同资源的其他任何线程进行调度。来看一 阅读全文
posted @ 2012-04-05 14:41 Lunaa 阅读(175) 评论(0) 推荐(0) 编辑
摘要:#include namespace types { struct uint128_t { uint64_t lo; uint64_t hi; } __attribute__ (( __aligned__(16 ))); } templateinline bool cas(volatile T * src, T cmp, T with); templateinline bool cas(volatile types::uint128_t* src, types::uint128_t cmp, types::uint128_t with ) { bool result;__asm__ __vol 阅读全文
posted @ 2012-04-01 17:55 Lunaa 阅读(326) 评论(0) 推荐(0) 编辑