C++的Enum hack
摘要:从一个例子开始吧 class Game { private: static const int GameTurn = 10; int scores[GameTurn]; };对于支持类内初始化的C++编译器,这段代码可以编译通过。但是较老的C++编译器,...
阅读全文
C标准库函数中复杂的函数声明
摘要:`` 中有一个复杂的函数声明。很叫人费解。 void (*signal(int sig, void (*handler)(int)))(int);我们按照向右看向左看的黄金法则来分析这个函数声明。如果你不明白我在讲什么,请看 [读懂C复杂声明的黄金法则](http://www.cnblogs....
阅读全文
中标软件笔试题回顾
摘要:因为对Linux抱有不变的热情,昨天去中标软件参加了面试。去了之后先填表,后做题。题目很多,要求90分钟完成,所以得抓紧时间。下面把我记忆中的题目分享出来,供后来者参考。操作系统类:- Linux集群文件系统的类型,答案GFS,GFS2。- 加载模块的命令,insmod, modprobe。- 用 ...
阅读全文
Linux线程的信号量同步
摘要:信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区。不多做解释,要使用信号量同步,需要包含头文件semaphore.h。主要用到的函数:- `int sem_init(sem_t *sem, int pshared, unsigned int va...
阅读全文
插入排序及其复杂度分析
摘要:- 问题:给定一个整数序列,按照从小到大的顺序(确切地说,是非递减的顺序)排列序列中的整数。- 输入:一个整数序列。- 输出:整数序列,其中的整数升序排列。插入排序的思想:插入排序是在一个已经有序的小序列的基础上,一次插入一个元素。当然,刚开始这个有序的小序列只有1个元素,就是第一个元素。比较是从有...
阅读全文
选择排序及其复杂度分析
摘要:- 问题:给定一个整数序列,按照从小到大的顺序(确切地说,是非递减的顺序)排列序列中的整数。- 输入:一个整数序列。- 输出:整数序列,其中的整数升序排列。选择排序的思想:选出最小的一个和第一个位置交换,选出其次小的和第二个位置交换 ……直到从第N个和第N-1个元素中选出最小的放在第N-1个位置。选...
阅读全文
冒泡排序及其复杂度分析
摘要:- 问题:给定一个整数序列,按照从小到大的顺序(确切地说,是非递减的顺序)排列序列中的整数。- 输入:一个整数序列。- 输出:整数序列,其中的整数升序排列。因为谭浩强的C语言教材,大家最熟悉的可能就是冒泡排序。下面是冒泡排序的一个C语言实现,`a`是数组首地址, `size` 是数组元素的个数。冒泡...
阅读全文
整数的二进制表示中包含多少个1
摘要:- 问题:给定一个整数,如何判断该整数的二进制表示里有多少个1。- 现实用途:应该可以用于数据的校验。解法(c++): #include #include using namespace std; // 求解x的二进制表示里有多少个1的算法。 // x = x & ...
阅读全文
装好Linux后没有声音的看过来
摘要:现代的Linux发行版对声卡的支持都应该没有问题。系统装好,声卡就应该正常工作。(尤其是ArchLinux,我觉得对硬件支持最跟得上时代步伐。)可是我用mplayer播放mp3文件却没有声音,但也没有看到报错信息。`lspci -v` 发现声卡驱动确实载入。`alsa-mixer`(需要安装alsa...
阅读全文
用Grub4dos引导,硬盘安装ArchLinux
摘要:本来在工作机上用winXP,最近想深入Linux开发,于是决定装个Linux。家里的archLinux + awesome用得很好,于是决定在工作机上也装一套。不想刻盘,也不想用U盘,通过Grub引导吧。从网上搜了一下,这方面的经验分享很多,我参考的是这一篇。http://blog.csdn.net...
阅读全文
Linux动态库生成与使用指南
摘要:> 相关阅读: [Linux静态库生成指南](http://www.cnblogs.com/jiqingwu/p/4325382.html)Linux下动态库文件的文件名形如 `libxxx.so`,其中so是 Shared Object 的缩写,即可以共享的目标文件。在链接动态库生成可执行文件时,...
阅读全文
Linux静态库生成指南
摘要:Linux上的静态库,其实是目标文件的归档文件。在Linux上创建静态库的步骤如下:1. 写源文件,通过 `gcc -c xxx.c` 生成目标文件。2. 用 `ar` 归档目标文件,生成静态库。3. 配合静态库,写一个使用静态库中函数的头文件。4. 使用静态库时,在源码中包含对应的头文件,链接时记...
阅读全文
Android项目目录结构
摘要:+ AndroidManifest.xml,项目清单文件,设置应用名称、图标等属性。Android应用中的Activity, Service, ContentProvider和BroadcastReceiver都要在该文件中设置。+ build.xml,ant的构建脚本。+ libs目录。项目依赖的...
阅读全文
新的玩具:Windows上的awesome
摘要:## 平铺式窗口管理器 ##基于xwindow(Linux/Unix采用的图形系统)有成千上百种窗口管理器。其中有一类窗口管理器很古怪,所有应用程序的窗口没有互相遮挡,而是平铺到屏幕上,这类窗口管理器叫 平铺式窗口管理器。比如我一直在用的 [Musca](http://www.baidu.com/l...
阅读全文