上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 59 下一页
  2012年6月12日
摘要: 众所周知,在微软的操作系统下编写应用程序,最主要的还是通过windows所提供的api函数来实现各种操作的,这些函数通常是可以直接使用的,只要包含windows.h这个头文件,下载源文件今天我们主要介绍的是几个常用的api函数,通过它我们可以获取用户磁盘的相关信息。其主要函数原型说明如下:1.获取系统中逻辑驱动器的数量TheGetLogicalDrivesfunction retrieves a bitmask representing the currently available disk drives.DWORD GetLogicalDrives(void);2.获取所有驱动器字符串信息 阅读全文
posted @ 2012-06-12 22:02 一个人的天空@ 阅读(15529) 评论(0) 推荐(1) 编辑
摘要: 本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn:yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn1. 前言打开一个网络socket后可以使用set/getsockopt(2)可实现用户空间与内核的通信,本质和ioctl差不多,区别在于set/getsockopt不用新建设备,直接利用系统已有的socket类型就可以进行,可用setsockopt函数向内核写数据,用getsockopt向内核读数据。本文内核代码版本为2.6.19.2。2. 基本过程首先在内核中要登记相 阅读全文
posted @ 2012-06-12 17:04 一个人的天空@ 阅读(1054) 评论(0) 推荐(0) 编辑
摘要: 默认情况下,使用VSQT插件导入.pro后,会自动在项目文件里面预定义好宏UNICODE,可以把该宏去掉,以免造成其他程序,使用多字节的代码出错去除的两个方法1.打开Propject->Property->Configuration Properties->Processor去掉右边显示的宏2.在main函数前面使用以下命令#undef UNICODE 阅读全文
posted @ 2012-06-12 15:36 一个人的天空@ 阅读(478) 评论(0) 推荐(0) 编辑
  2012年6月11日
摘要: CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;vc++中各种字符串的表示法首先char* 是指向ANSI字符数组的指针,其中每个字符占据8位(有效数据是除掉最高位的其他7位),这里保持了与传统的C,C++的兼容。LP的含义是长指针(long pointer)。LPSTR是一个指向以‘\0’结尾的 阅读全文
posted @ 2012-06-11 23:03 一个人的天空@ 阅读(575) 评论(0) 推荐(0) 编辑
  2012年6月10日
摘要: QSettings *ConfigIni = new QSettings(QSettings::Ini);ConfigIni->insertSearchPath(QSettings::Unix, "/home/Dawei");.//配置文件目录ConfigIni->writeEntry(QString::fromUtf8("/config./opt/参数1"), QString::fromUtf8("中文"));String aaa = ConfigIni->readEntry(QString::fromUtf8(& 阅读全文
posted @ 2012-06-10 22:53 一个人的天空@ 阅读(3902) 评论(0) 推荐(1) 编辑
摘要: Windows操作系统专门为此提供了6个API函数来对配置设置文件进行读、写:GetPrivateProfileInt() 从私有初始化文件获取整型数值GetPrivateProfileString() 从私有初始化文件获取字符串型值GetProfileInt 从win.ini 获取整数值GetProfileString 从win.ini 获取字符串值WritePrivateProfileString 写字符串到私有初始化文件WriteProfileString 写字符串到win.ini我们可以把视图类的:OnInitialUpdate() 函数作为程序启动时读取配置文件的入口,配置文件的存储 阅读全文
posted @ 2012-06-10 22:50 一个人的天空@ 阅读(31044) 评论(0) 推荐(1) 编辑
  2012年6月9日
摘要: 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显的很不优雅。使用全局对象能够保证方便地访问实例,但是不能保证只声明一个对象——也就是说除了一个全局实例外,仍然能创建相同类的本地实例。《设计模式》一书中给出了一种很不错的实现,定义一个单例类,使 阅读全文
posted @ 2012-06-09 23:04 一个人的天空@ 阅读(285) 评论(0) 推荐(0) 编辑
  2012年6月6日
摘要: Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NETLINK_ROUTE),1-wire 子系统(NETLINK_W1),用户态 socket 协议(NETLINK_USERSOCK),防火墙(NETLINK_FIREWALL),socket 监视(NETLINK_INET_DIAG),netfilter 日志(NETLINK_NFLOG),ipsec 安全策略(NETLINK_XFRM 阅读全文
posted @ 2012-06-06 16:16 一个人的天空@ 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 一、概述1. Netfilter/IPTables框架简介 Netfilter/IPTables是继2.0.x的IPfwadm、2.2.x的IPchains之后,新一代的Linux防火墙机制。Netfilter采用模块化设计,具有良好的可扩充性。其重要工具模块IPTables连接到Netfilter的架构中,并允许使用者对数据报进行过滤、地址转换、处理等操作。 Netfilter提供了一个框架,将对网络代码的直接干涉降到最低,并允许用规定的接口将其他包处理代码以模块的形式添加到内核中,具有极强的灵活性。2.主要源代码文件Linux内核版本:2.4.21Netfilter主文件:net/c... 阅读全文
posted @ 2012-06-06 16:15 一个人的天空@ 阅读(1874) 评论(0) 推荐(0) 编辑
摘要: 前言:以下是根据《深入理解Linux网络技术内幕》对sk_buff的相关总结,由于是刚刚看这本书(太厚了),不免在前期出现错误,随着对此书的深入我会在修改前面的错误,也希望各位牛人给予指点。帮助我成长。sk_buff分析:sk_buff是Linux网络代码中最重要的结构体之一。它是Linux在其协议栈里传送的结构体,也就是所谓的“包”,在他里面包含了各层协议的头部,比如ethernet, ip ,tcp ,udp等等。也有相关的操作等。熟悉他是进一步了解Linux网络协议栈的基础。此结构定义在<include/linux/skbuff.h>头文件中,结构体布局大致可分为以下四部分: 阅读全文
posted @ 2012-06-06 16:13 一个人的天空@ 阅读(14644) 评论(0) 推荐(2) 编辑
摘要: 本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn:yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn1. 前言ipvs是章文嵩先生主持的一个开源项目,早在2.2内核时就已经以内核补丁形式出现,RedHat6.1和6.0的一个重要区别就是增加了IPVS。从2.4.24后IPVS已经成为Linux官方标准内核的一部分,2.2时IPVS是完全独立的部分,2.4以后借用了netfilter的一些处理机制,但主体还是比较独立,但功能和netfilter有重复的地方。IPVS官方网 阅读全文
posted @ 2012-06-06 14:51 一个人的天空@ 阅读(1832) 评论(0) 推荐(0) 编辑
  2012年6月5日
摘要: 可变参数列表头文件<stdarg.h>提供了遍历未知数目和类型的函数参数表的功能。该头文件的实现因不同的机器而不同,但提供的接口是一致的。假定函数 f 带有可变数目的实际参数,lastarg 是它的最后一个命名的形式参数(参数列表必须至少包括一个命名参数)。那么,在函数 f 内声明一个类型为 va_list 的变量 ap (argument pointer),它将依次指向每个实际参数。va_list ap;在访问任何未命名的参数前,必须用 va_start 宏初始化 ap 一次。(va_start 将最后一个命名参数作为起点,将 ap 初始化为指向第一个未命名参数的指针)va_st 阅读全文
posted @ 2012-06-05 12:00 一个人的天空@ 阅读(893) 评论(0) 推荐(0) 编辑
摘要: 更新日志:2012.02.27 更新(校正并基本完成选项表部分内容的翻译)2012.02.28 更新(完成popt基本使用的第1部分以及第2部分的内容翻译)2012.03.01 更新(完成popt基本使用的全部翻译——剩下的3、4、5部分,增加示例部分)软件安装:ubuntu (deb)$apt-cache searchpopt|headlibpopt-dev - libforparsing cmdline parameters - development fileslibpopt0 - libforparsing cmdline parameters...$sudoapt-get insta 阅读全文
posted @ 2012-06-05 11:57 一个人的天空@ 阅读(10439) 评论(0) 推荐(0) 编辑
摘要: vs2005、vs2008、vs2010默认是Unicode的,在VC 6.0中编译成功的项目在VS2005中常会出现类型错误。经常出现的错误是:不能从const char *转换为LPCWSTR如使用MessageBox(hwnd,"right mouse clicked",NULL,0)就会报错,如果使用强制转换(LPCWSTR)"right mouse clicked",虽然能够通过,但是编码会出错。可行的办法是使用 TEXT("right mouse clicked")转换,MessageBox(hwnd,TEXT(" 阅读全文
posted @ 2012-06-05 11:28 一个人的天空@ 阅读(1643) 评论(0) 推荐(0) 编辑
  2012年6月4日
摘要: Qt提供的容器类的最大优点在于平台无关性和隐式共享特性11.1Sequentail ContainersQVector< T> array-like data structure(在尾部插入数据时效率很高,而在中间和头部插入数据时开销很大)。QVector提供了[]运算符QVector可以用< < 运算符代替append()函数。QVector中的基本类型及指针被初始化为0。QLinkedList< T>QLinkedList不提供[]运算符,所以必须通过迭代器来对其进行遍历。QList< T>array-list:综合了QVector< 阅读全文
posted @ 2012-06-04 10:53 一个人的天空@ 阅读(9470) 评论(0) 推荐(1) 编辑
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 59 下一页