大二看世乒赛时曾经用过sopcast这个软件,不过是Windows版本的,常看的频道都挺流畅的。昨天在Ubuntu社区偶然看到的一个帖子提到了这个软件,找了一下,搜出来两个包,安装测试成功,记录一下。
首先,下子这两个相互依赖deb包,sp-auth_3.0.1_i386.deb、sopcast-player_0.2.1_i386.deb。
下面的图片是一个LED显示屏,显示的这个等式明显是错误的,原因是某个显示屏的像点坏了,你能找出来吗?我找了10分钟,最终还是没看出来。

答案其实并不简单……坏点……并不都是该亮的没亮,还有可能是不该亮的却亮了……
一个最小堆的C++模板。什么东西都想封装成类,做成模板,即使它仅仅就是一个普通的函数,尤其是用到一些全局的对象时,觉得封装成类看起来更紧凑一点,使用起来也更方便更顺手一些。这个最小堆模板实现了以下几个小特性:
容量不足时,能够动态地调整大小;
可以用一个数组来初始化,并建立最小堆;
没有复制构造,^*^.
我试图以二进制的方式打开文件movie.avi,并复制到另外一个文件film.avi,于是写了下面的一段代码。问题是,这段代码只对某些文件适用,而无法”完全”复制另外一些文件,也就是说,当源文件并没有读完时却已经提前结束了。我想应该是某一个特殊字节的值导致read认为文件已经读完了,但我是以二进制方式打开的文件呀,这种情况下,文件结束符EOF还有意义吗?puzzling……
这里还有几个比较小的命令:
zz: 把当前行放到屏幕中央;
zt: 把当前行放到屏幕顶端;
^a: 把当前光标处的数字(包括负数)加1;
^x: 把当前光标处的数字(包括负数)减1。
嗯,就是这个样子地……
问题1
小两口有俩娃儿,其中有一个生于星期二的男孩儿。问另一个是男孩儿的概率是多少?
如果上面的问题略显复杂的话,那么先看下面的这个问题,
问题2
小两口有俩娃儿,其中第一个是的男孩。问第二个是男孩儿的概率是多少?
对于问题2,由于两个孩子的性别和生日(以周记)是独立的,所以第二个是男孩的概率就是1/2。从古典概型的角度来理解,总的样本空间可以表述为Ω ={男,男},{男,女},{女,男},{女,女},第一个是男孩为事件A={男,男},{男,女},第二个是男孩为事件B={男,男}。于是,在第一个为男孩的前提下第二个是男孩的概率为1/2,即P(AB)/P(B)=(1/4)/(1/2)=1/2。我们把问题再换一个问法,
操作系统为每一个进程维护着一个虚拟的地址空间,这个地址空间的大小通常取决于系统的地址线数目,比如在32位系统中,虚拟地址空间的返回就是0×00000000~0xFFFFFFFF,大小共4G。通常操作系统会划分出一部分来专门供内核使用,而不允许用户进程直接访问。Linux内核占用4G中高地址的1G,即0XC0000000~0XFFFFFFFF,windows内核通常占用高地址的2G空间,但也可配置成1G。进程的代码、数据以及共享库等资源终究是要放在物理内存中才能被访问的,操作系统在建立用户进程时,会为其建立各自独立的虚拟地址空间,然后将各自的数据段、代码段、BSS段等映射到这个地址空间,并为其初始化堆、栈等必须的资源。另外,操作系统还将虚拟空间和物理空间都划分成大小相等的页,把进程数据所在虚拟地址空间的各个虚拟页面映射到其真正被加载的物理页面,这种映射是全相联方式的,即任何一个虚页可以被映射到任何一个实页。
上PIC课讲到信号监测时,老师做过这样一个比喻:说同学们,10分钟后咱们到教室外面集合,对于“查询式”同学,他会不停地数数,直到600,“中断式“会定一个闹表,当然啦,我可以该干嘛干嘛,大家都走了我再走,多省资源啊哈哈!
话说今儿晚上在运动常跑步,遇到一查询式的哥们儿。我跑第一圈从他身边经过,冲我问:
- 几点啦?
- ……八点半……
- 三十几?
- ……三十四……
- 四十四?四十四还是三十四?
- …………我无语……继续跑……
又问:
-哎哥们儿,几点了?
-三十五!
若干圈之后,
-嗨美女,几点了?
-没带表!
第八圈,
-A,几点了?
-9点。
-哦……
啊然后这哥们儿从跑道边栏杆上摘下一个包,把手机掏出来,走出运动场……
这里面没有用到C库,也没有main函数,为了把这个程序编译成可执行文件,需要指定程序的入口。编译指令:
1 2 3 4 5 6 7 8 9 10 | $ gcc -c nomain.c $ ld -e nomain nomain.o -o nomain $ ./nomain $ echo $? 42 $ ls -l nomain -rwxr-xr-x 1 ivan ivan 618 2009-09-02 22:11 nomain $ strip nomain $ ls -l nomain -rwxr-xr-x 1 ivan ivan 356 2009-09-02 22:15 nomain |
解释一下,ld是linux下的一个链接器,-e选项用来指定程序的入口。编译后可执行文件的大小为618字节(一个动态链接的HelloWorld需要9KB,静态链接将近600K),strip命令可以”剥去”可执行文件中的调试信息,可进一步减小文件的大小,另外在链接时通过其他选项还可以将可执行文件中保存的编译器和系统版本信息也一并去掉……
