摘要: 由于systemd合并udev之后,咱们就不能再用udev的规则来挂接移动硬盘了所以决定利用dbus的机制来规避systemd对于cgroup控制导致的挂接移动硬盘问题开发一个简单的dbus服务器,其功能很简单,接收从客户端过来的命令参数,然后调用system()来执行这当然是有安全问题的,但在自己的机器使用,谁管呢#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <dbus/dbus.h>#include <dbus/dbus-glib.h>#inclu 阅读全文
posted @ 2013-06-13 23:20 日月王 阅读(1669) 评论(0) 推荐(0) 编辑
摘要: #ifndef __OBJECT_ORIENTED_C__#define __OBJECT_ORIENTED_C__#ifdef __cplusplusextern "C" {#endif/* ======================================================================== *//* 这一区块定义下面用到的一些名字组成宏 *//* 类方法名字拼接 */#define METHOD(class, method) class##_##method/* 类方法的类型的名字拼接 */#define METHO... 阅读全文
posted @ 2013-05-17 14:21 日月王 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 参考了网上很多人的代码,不一一列举了/* ======================================================================== *//* 这一区块定义下面用到的一些名字组成宏 *//* 类方法名字拼接 */#define METHOD(class, method) class##_##method/* 类方法的类型的名字拼接 */#define METHOD_TYPE(class, method) __##class##_##method##_typedef__/* 类的虚函数表结构的名... 阅读全文
posted @ 2013-05-16 22:19 日月王 阅读(552) 评论(0) 推荐(0) 编辑
摘要: MFCSPY可以方便反编译MFC程序,源代码路径http://www.pudn.com/downloads99/sourcecode/windows/freedic/detail403061.html其后续版本xspy,链接为http://bbs.pediy.com/showthread.php?t=170033http://blog.sina.com.cn/s/blog_5dba09df01016b2f.html或者http://blog.sina.com.cn/lynnux 阅读全文
posted @ 2013-05-07 20:01 日月王 阅读(685) 评论(0) 推荐(0) 编辑
摘要: //TestDelegate.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"typedefunsignedlonggulong;typedefchargchar;typedefvoid*gpointer;typedeflongGObject;void*g_lpObject=0;classObject{public:Object(){};virtual~Object(){};};classBaseObject:virtualpublicObject{public:BaseObject();virtual~BaseObject();/*创建对象并绑 阅读全文
posted @ 2013-05-03 22:11 日月王 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 公司的项目里有用到Don Clugston的FastDelegate,当时只知道是类似boost::function的东西,UI上当watcher用的比较多,所以也没去关注。今天想写个事件触发器时,突然想起这茬子,看来有必要认真的研究学习下了。搜了下网上关于Delegate的东西,有很多网友自个实现的简易版本,CodeProject上有2个开源项目写的不错,一个就是FastDelegate,还有一个模仿C#的Delegate。FastDelegate的实现依赖于编译器,作者NB的研究了各种编译器在各种平台上生成的汇编代码,将C++中神秘的成员函数调用还原普通的函数调用,其调用的汇编代码用他的框 阅读全文
posted @ 2013-05-03 21:07 日月王 阅读(469) 评论(0) 推荐(0) 编辑
摘要: C++的委托//TestDelegate.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"typedefunsignedlonggulong;typedefchargchar;typedefvoid*gpointer;typedeflongGObject;void*g_lpObject=0;classBaseObject{public:BaseObject();virtual~BaseObject();/*创建对象并绑定信号的接口*/virtualgulongsetupObject()=0;//protected:typedefgulong(Ba 阅读全文
posted @ 2013-05-03 16:32 日月王 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 一般,编译器采取最差的,而且一直使用最普通的形式。比如对于下面这个结构:// Borland (缺省设置) 和Watcom C++. struct {FunctionPointer m_func_address;int m_delta;int m_vtable_index; //如果不是虚拟继承,这个值为0。};// Metrowerks CodeWarrior使用了稍微有些不同的方式。//即使在不允许多重继承的Embedded C++的模式下,它也使用这样的结构!struct {int m_delta;int m_vtable_index; // 如果不是虚拟继承,这个值为-1。Functi 阅读全文
posted @ 2013-05-03 14:47 日月王 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1#ifndef__UI_TEST_WIN__2#define__UI_TEST_WIN__34#include"BaseObject.hpp"5#include<gtk/gtk.h>67classTestDialog:publicBaseObject8{9public:10virtual~TestDialog(){};11virtualgulongsetupObject();1213protected:14GtkWidget*calendar1;1516virtualSIGNAL_CALLBACKgulongOnOk();17};1819#endif1#inc 阅读全文
posted @ 2013-05-02 16:39 日月王 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 想将GTK+-2.0的信号、回调处理映射成类成员函数,然后我们就可以很简单的将一个个GTK+2.0中的构件映射成类了,其实就是避开GTKMM那么复杂的东东。1#ifndef__BASE_OBJECT_CLASS__2#define__BASE_OBJECT_CLASS__34#include<glib.h>5#include<glib-object.h>67#if08//函数指针转换,可以把一种类型的数据直接转换成第二种类型的数据9template<classFuncPt1,classFuncPt2>10inlineFuncPt1Func_Cast(Func 阅读全文
posted @ 2013-05-02 16:27 日月王 阅读(382) 评论(0) 推荐(0) 编辑