linux
文章平均质量分 80
漂流的代码
这个作者很懒,什么都没留下…
展开
-
ubuntu 12.04 64位设置兼容32位的实现
在ubuntu12.04上,要运行32的程序,需要安装32位的兼容库。以前在10.04上成功安装过,方法是sudo apt-get install ia32-libs但是在12.04上遇到了困难,遇到下面这种错误$ sudo apt-get install ia32-libs正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息.原创 2012-10-09 17:17:21 · 28651 阅读 · 3 评论 -
MiniGUI源码分析:GDI(2)-- DC分析
虽然MiniGUI的应用范围越来越窄,很多功能和思想都落后于时代的发展,但是,作为一款开源的优秀的GUI库,具有很好的学习和参考价值。基于这个考虑,在我忘掉MiniGUI之前,把我所知道的写下来。前言熟悉windows的朋友都了解,GDI对外提供一个HDC的DC句柄。DC为(Device Context)的缩写,表示一个抽象的设备当前绘图情况。一般情况下,屏幕、打印设备、内存像素都可以原创 2013-05-23 14:35:41 · 4978 阅读 · 3 评论 -
C的面向对象编程
C语言并不支持类这样的概念,但是C仍旧可以使用面向对象的概念。C++中的类,关键在于它的虚函数表。因此,我们要模拟一个能够支持虚函数表的类。使用C的struct结构,可以模拟类和虚函数。比如,我们来模拟一个shape类//模拟虚函数表typedef struct _Shape Shape;struct ShapeClass { void (*construc原创 2013-06-10 17:56:50 · 5271 阅读 · 0 评论 -
boost bind初步探究
最近对boost的bind部分比较感兴趣,对其背后的机制进行了简单的分析,和大家分享一下。注,我所看的代码是boost_1_51_0, 想来各个版本的差异不大。从一个例子开始直接上代码(从官方网站摘取)定义函数int f(int a, int b){ return a + b;}int g(int a, int b, int c){原创 2013-06-14 14:43:56 · 5378 阅读 · 1 评论 -
boost function对象
本文根据boost的教程整理。主要介绍boost function对象的用法。boost functionboost function是什么boost function是一组类和模板组合,用于包装各种函数。从功能上,它类似于函数指针,但是比函数指针的功能更强大。使用boost function,必须包含头文件#include 除了头文件外,不需要额外的库。注原创 2013-06-17 15:11:11 · 3745 阅读 · 0 评论 -
boost的signal和solt机制使用入门
本文根据boost的教程文档整理。signal-slot是一个非常方便的接口机制,在Qt和Gtk中广泛使用。boost也实现了一个signal-slot机制。编译包含signal-slot的代码使用signal-slot,必须包含头文件#include signal-slot在boost中不是纯头文件,需要一个libboost_signals.so文件,在编译时,需要原创 2013-06-17 18:03:44 · 12920 阅读 · 1 评论 -
boost 的函数式编程库 Phoenix入门学习
这篇文章是我学习boost phoenix的总结。序言Phoenix是一个C++的函数式编程(function programming)库。Phoenix的函数式编程是构建在函数对象上的。因此,了解Phoenix,必须先从它的基础函数对象上做起。Phoenix能够提供令人惊艳的编码效果。我先撂一个出来,看看用Phoenix能写出什么样的代码: std::for_e原创 2013-06-18 14:33:46 · 5131 阅读 · 1 评论 -
C++利用不完全实例化来获得函数模板参数的返回值和参数
有一些模板会以函数为模板参数,有时候这些模板要获得函数的返回值和参数。如在boost中的signal和slot机制,就存在这样情况。那么,我们如何得到这些信息呢?我们使用C++不完全实例化来实现。比如,有这个代码typedef function_traits Signal;能够得到Signal::result_type == void, Signal::arg1_type原创 2013-07-13 18:19:28 · 3973 阅读 · 2 评论 -
C++ 全局构造函数调用的顺序
C++ 全局构造的顺序原创 2013-07-02 23:34:10 · 4277 阅读 · 1 评论