- 博客(227)
- 资源 (2)
- 收藏
- 关注
转载 isolinux.cfg配置文件的写法
DEFAULT vesamenu.c32 # 第一行,DEFAULT vesamenu.c32,必须的,因为要用到菜单功能,必须有这个vesamenu.c32文件,# 具体可以看syslinux中vesamenu.c32所在目录的vesamenu.c文件说明。# vesamenu.c32是在syslinux-3.30开始支持的。FONT myfont.psf # 字体文件
2014-07-29 11:06:24
15307
转载 rpmbuild报错Installed (but unpackaged) file(s) found ?
============================================================================== The changes which rolled in RPM 4.1 terminate builds when unpackaged binaries or documentation are found. Mike Harri
2014-07-25 09:20:17
5859
转载 CentOS yum 源的配置与使用
一、yum 简介yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 的宗旨是
2014-07-17 19:03:07
845
转载 Linux NFS服务器的安装与配置
一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同的客户端及服务端
2014-07-17 13:08:42
577
转载 KVM系统调用说明
1. General description----------------------The kvm API is a set of ioctls that are issued to control various aspectsof a virtual machine. The ioctls belong to three classes- System io
2014-07-07 10:06:46
3885
转载 创建COM组件全过程
一.创建一个接口struct ISimpleMsgBox : public IUnknown{ // IUnknown STDMETHOD_(ULONG, AddRef)() PURE; STDMETHOD_(ULONG, Release)() PURE; STDMETHOD(QueryInterface)(REFIID riid, void** ppv) P
2014-06-19 16:56:58
1849
转载 ShockwaveFlash控件详解
属性:1.AlignMode (读写)语法:AlignMode As Long说明:对齐方式,与 SAlign 属性联动。当控件的 长宽比例与影片不一致且 WMode 不为 ExactFit 时,影片(没有被放大的)在控件中显示的位置可用该属性调整。 该属性值由标志位组成。如图,将该属性值(二进制)中相 应的位标记为 1 就设置了相应的对齐方向。属性值与相应的对齐方式。后面括号里是二进
2014-06-16 10:11:05
3170
转载 关于调用静态链接库LIB,提示重定义或库冲突的错误
在一个项目里使用了静态链接库,但是一编译就报错LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson 已经在 MSVCRTD.lib(MSVCR100D.dll) 中定义1>LIBCMTD.lib(dosmap.obj) : error LNK2005: __errno 已经在 MSVCRTD.lib(MSVCR100D.d
2014-06-12 15:06:32
3717
转载 C++ 虚函数表解析
看过的最好的一篇关于虚函数解析的文章:前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做
2014-06-12 09:38:27
725
转载 MFC ACtiveX 自定义控件系列操作 动态加载 程序注册 等
项目需要把以前做的一个VC6自定义控件 放到vs2008上使用。把vc6程序转为vs2008,重新编译一下,开始: 怎么在自定义控件程序中添加新方法?如下图所示:类视图 -> 自定义控件LIB -> _D -> 右键添加方法/属性 => 属性添加向导ACtiveX 自定义控件系列操作 动态加载 程序注册 等" alt="MFC ACtiveX 自定义控件系列操作 动态加
2014-06-09 16:57:19
3183
转载 Linux编程中中各种头文件
1.unistd.h是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数2.stdlib.h stdlib 头文件里包含了C、C++语言的最常用的系统函数stdlib.h里面定义了五种类型、一些宏和通用工具函数。类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t
2014-06-03 10:40:49
9509
转载 wireshark过滤规则
WireShark 过滤 语法 1. 过 滤 IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP2. 过滤 端 口例子:tcp.port eq 80 // 不管端口是
2014-05-30 08:55:25
820
转载 sscanf函数和正则表达式
此文所有的实验都是基于下面的程序:char str[10];for (int i = 0; i 执行完后str的值为str = "!!!!!!!!!!"我们把str的每个字符都初始化为惊叹号,当str的值发生变化时,使用printf打印str的值,对比先前的惊叹号,这样就可以方便的观察str发生了怎样的变化。下面我们做几个小实验,看看使用sscanf和正则表达式格式化输入后,s
2014-05-30 08:54:10
621
转载 Dshow--filter
COM编程基础 DirectShow应用程序实际上是一种COM组件的客户程序,只是COM组件的“使用”问题,这些问题包括如何创建COM组件,如何得到组件对象的借口以及调用接口方法,如何管理组件对象(即需要熟悉COM的引用计数机制)等。 对于filter开发人员来说,需要掌握的COM知识就要多一些。因为filter本身是一种COM组件,开发filter牵涉到了CO
2014-05-27 10:35:11
835
转载 mips-linux-gcc编译器警告消除
这两天在公司就是忙活这些东西,记到blog上,免的以后忘了warning: "/*" within comment 举例: /************************************************/ /* /* save snmp entry data /* add by Tina Lee 2003/7/11 /******************
2014-05-16 16:19:54
1518
转载 linux下 gcc 默认搜索路径
如何指定GCC的默认头文件路径有大量的环境变量可供设置以影响 GCC 编译程序的方式。利用这些变量 的控制也可使用合适的命令行选项。一些环境变量设置在目录名列表中。这些名字和 PATH 环境变量使用的格式相同。特殊字符 PATH_SEPARATOR (安装编译程序的时候定义)用在目录名之间。在 UNIX 系统中,分隔符是冒号,而 Windows 系统中为分号。C_INCLUDE_PAT
2014-05-16 16:17:35
5198
转载 Linux下C++的通用Makefile与解析
本文给出万能Makefile的具体实现,以及对其中的关键点进行解析。所谓C++万能Makefile,即可编译链接所有的C++程序,而只需作很少的修改。号称万能Makefile,一统江湖。我对原版的Makefile做了些修改。首先揭开它的庐山真面目:##################################################### Generic makefil
2014-05-16 13:54:00
14487
1
转载 makefile函数集锦及条件判断
Makefile 常用函数表一、字符串处理函数1.$(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。2.$(patsubst PATTERN,REPLACEMENT,TEXT)函数名称:模式替换函数—patsubst。函数功能:搜索“TEXT”中
2014-05-16 13:53:17
8605
转载 Linux GCC编译和使用动态、静态链接库
在windows下动态链接库是以.dll后缀的文件,二在Linux中,是以.so作后缀的文件。动态链接库的好处就是节省内存空间。1、Linux下创建动态链接库在使用GCC编译程序时,只需加上-shared选项即可,这样生成的执行程序即为动态链接库。例如有文件:hello.c x.h main.c[plain] view plaincopyprint?
2014-05-15 14:58:49
749
转载 CentOS 6.3下Samba服务器的安装与配置
一、简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System
2014-05-15 14:05:14
656
转载 linux yum命令详解
linux yum命令详解yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且
2014-05-15 08:56:31
624
转载 Intel CPU的CPUID指令
Intel CPU的CPUID指令 Intel有一个超过100页的文档,专门介绍cpuid这条指令,可见这条指令涉及内容的丰富。 记得去年的时候,曾经有个“英布之剑”问过我这条指令,当时并没有给出一个满意的回答,现在放假,想起来,把资料整理了一下。很久以前确实用过这条指令,其实指令本身并没有什么难的,关键是看你有没有耐心研读完繁琐的资料,当然还得对CPU有一定的了解,如果“英布
2014-04-23 15:38:34
6091
转载 Intel VT入门
前言 传说中的VT貌似很神秘的样子,关于VT入门的资料又很少,于是研究了一番由于资源有限,自身水平亦有限,并且是闭门造车之作,如有错误的地方请指正,不胜感激!关于VT可以先参考海风月影写的关于VT调试器http://bbs.pediy.com/showthread.php?t=96122 运行环境操作系统: windows XP CPU : intel i3-
2014-04-23 15:11:31
5576
转载 Linux内核—— 必要的编译知识include/linux/compile.h
所有的内核代码,基本都包含了include/linux/compile.h这个文件,所以它是基础,涵盖了分析内核所需要的一些列编译知识,本博就分析分析这个文件里的代码:#ifndef __LINUX_COMPILER_H#define __LINUX_COMPILER_H#ifndef __ASSEMBLY__首先印入眼帘的是对__ASSEMBLY__这个宏的判断,这个
2014-04-23 10:25:56
4759
转载 ld.info链接脚本
ld.info链接脚本解读最近在看Linux内核时,总是遇到一些和连接脚本相关的东东,搞得人一头雾水,终于下定决心把它搞明白,写下一点心得,希望对和我一样的人有所帮助! 连接脚本的格式====================连接脚本是文本文件.你写了一系列的命令作为一个连接脚本. 每一个命令是一个带有参数的关键字,或者是一个对符号的赋值.
2014-04-23 10:03:16
621
转载 如何解读vmlinux.lds.S
vmlinuz自然就是内核了,initrd.img是一个小的映象,包含一个最小的linux系统。通常的步骤是先启动内核,然后内核挂载initrd.img,并执行里面的脚本来进一步挂载各种各样的模块,然后发现真正的root分区,挂载并执行/sbin/init... ...。initrd.img当然是可选的了,如果没有initrd.img,内核就试图直接挂载root分区。之所以要有initrd
2014-04-23 09:47:37
4137
转载 linux2.6 makefile分析
linux2.6内核Makefile的许多特性和2.4内核差别很大,在内核目录的documention/kbuild/makefiles.txt中有详细的说明。给大家一个中文版的翻译!=== 目录 === 1 概述 === 2 用户与作用 === 3 Kbuild文件 --- 3.1 目标定义
2014-04-23 09:45:07
630
转载 intel 80386的寄存器组成
80386的寄存器组成保护模式2009-01-31 10:04:33 阅读864 评论1字号:大中小 写这篇文章,完全是因为学习保护模式需要这些知识,读者完全可以走马观花,大致看看有什么内容,知道需要的时候来查这篇文章就可以了,完全没有必要抵抗着困意非要把这篇文章认真看完,记住里面每一个寄存器里每一位的定义,但是以后的文章如果需要,一定要记得回来查查相关的内容。
2014-04-23 09:18:56
1218
转载 gnu汇编
1.ARM汇编语言 ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和伪指令组成.ARM汇编语言的设计基础是汇编伪指令,汇编伪操作和宏指令. 伪操作,是ARM汇编语言程序里的一些特殊的指令助记符,其作用主要是为完成汇编程序做各种准备工作,在源程序运行汇编程序处理,而不是在计算机运行期间有机器执行.也就是说,这些伪操作只是汇编过程中起作用,一旦汇编结束,伪操作的使命也就随之
2014-04-23 09:17:47
3491
转载 linux中的定时器
在 Linux 内核中主要有两种类型的定时器。一类称为 timeout 类型,另一类称为 timer 类型。timeout 类型的定时器通常用于检测各种错误条件,例如用于检测网卡收发数据包是否会超时的定时器,IO 设备的读写是否会超时的定时器等等。通常情况下这些错误很少发生,因此,使用 timeout 类型的定时器一般在超时之前就会被移除,从而很少产生真正的函数调用和系统开销。总的来说,使用 ti
2014-04-22 15:33:53
684
转载 GCC内嵌汇编
内核代码绝大部分使用C 语言编写,只有一小部分使用汇编语言编写,例如与特定体系结构相关的代码和对性能影响很大的代码。GCC提供了内嵌汇编的功能,可以在C代码中直接内嵌汇编语言语句,大大方便了程序设计。简单的内嵌汇编很容易理解 例: __asm__ __volatile__("hlt"); “__asm__”表示后面的代码为内嵌汇编,“asm”是“__
2014-04-22 13:57:36
629
转载 Guest OS, Qemu, KVM工作流程
这里主要介绍基于x86平台的Guest Os, Qemu, Kvm工作流程,如图,通过KVM APIs可以将qemu的command传递到kvm: 1.创建VM system_fd = open("/dev/kvm", xxx); vm_fd = ioctl(system_fd, KVM_CREATE_VM, xxx); 2.创建VCPU vcpu_fd = kvm_vm_io
2014-04-21 18:50:59
1176
转载 KVM虚拟机创建功能详细讲解
。 ⑶ 在cmdCreate主程序中有一个特别重要的函数:virDomainCreateXML(),这个函数的最初原型是: virDomainPtr virDomainCreateXML (virConnectPtr conn,const char*xmlDesc,unsigned int flags),这个函数是基于一个指定的XML文件来创建一个虚拟机,其中conn表示一个指向hyperv
2014-04-21 18:47:55
1600
转载 孤儿进程和僵尸进程
一、定义:什么是孤儿进程和僵尸进程 僵尸进程:一个子进程在其父进程还没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。示例: 僵尸进程:一个子进程在其父进程还没有调用
2014-04-21 15:55:13
419
转载 getopt_long
1.头文件#include #include #include #include 2.函数原型int getopt_long(int argc, char * const argv[], const char *optstring, const struct option *longopts, int *longindex);longindex参数如果没有设置为NULL
2014-04-18 10:51:24
556
转载 sscanf函数和正则表达式
此文所有的实验都是基于下面的程序:char str[10];for (int i = 0; i 执行完后str的值为str = "!!!!!!!!!!"我们把str的每个字符都初始化为惊叹号,当str的值发生变化时,使用printf打印str的值,对比先前的惊叹号,这样就可以方便的观察str发生了怎样的变化。下面我们做几个小实验,看看使用sscanf和正则表达式格式化输入后,s
2014-04-18 10:47:28
412
转载 Source Insight 环境设置及常用快捷键
1、背景色选择 要改变背景色Options->preference->windows background->color设置背景色2、解决字符等宽对齐问题。 SIS默认字体是VERDANA,很漂亮。这网页上应该也是用的VERDANA字体。但由于美观的缘故,VERDANA字体是不等宽的。比如下面两行 llllllllll MMMMMMMMMM 同
2014-04-17 15:40:41
643
转载 qemu-kvm 内存虚拟化---ept
qemu-kvm内存虚拟化内存虚拟化实际就是进行地址转换从客户机虚拟地址-->客户机物理地址-->宿主机的物理地址,转换实现有两种硬件内存虚拟化和软件影子页表方式, 下面主要分析基于intel ept硬件内存虚拟化实现,此实现主要做两件事情1.开启ept功能2.构造转换页表。注意该页表构造采用动态方式(常说懒惰方式),就是不到完不得以情况不创建。此页表创建实现就是采用ept violati
2014-04-16 16:09:10
3100
转载 Qemu-kvm模拟APIC Timer中断
Qemu-kvm模拟APIC Timer中断qemu-kvm模拟两个时钟中断设备PIT(i8254)和APIC Timer设备,也就是产生中断源。两者电子线路连接不同,对于i8254设备来说首先连接到i8259中断控制器,i8259中断控制器再连接到ioapic设备中,送到lapic,最后注入到vcpu中。对于APIC Timer设备实际就是lapic的一个功能,意思就是通过编程可以触发l
2014-04-16 16:08:06
2467
转载 qemu-kvm 中断虚拟化代码分析
如果收到中断响应/* * callback when PIC0 irq status changed */static void pic_irq_request(void *opaque, int level){ struct kvm *kvm = opaque; struct kvm_vcpu *vcpu = kvm->bsp_vcpu;
2014-04-16 16:07:21
2356
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人