Ubuntu Linux与Windows系统多启动的配置

一、如果是XP(vista )与UBUNTU之间,先装XP,后装ubuntu,ubuntu会在grub中加入XP启动项。可以手动添加。         对应XP,vista,2003的     title Microsoft Windows XP Professional     root (hd0,n) # n视XP所在分区而定,第一分区就是0     default     makeactive     chainloader +1     对应2003,下面也可以。     title Earlier Version of Windows     #查找WINDOWS XP/2003 ,有些grub版本还不支持find命令     find –set-root /ntldr     chainloader /ntldr     对应vista,在grub的menu.lst添加也可以,不指定分区     title Windows Vista(default)     #查找 Vista bootmgr ,有些grub版本还不支持find命令     fallback… Continue reading Ubuntu Linux与Windows系统多启动的配置

ServUAdmin启动错误

昨天安装ServerU以架设Ftp时,安装过程中出现系统错误 The system DLL user32.dll was relocated in memory. The application will not run properly. The relocation occurred because the DLL C:\Windows\System32\Hhctrl.ocx occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL. 原因: This problem may occur after you install security update 925902 (MS07-017)… Continue reading ServUAdmin启动错误

Deepin XP中的OEM信息

今天安装了一下Deepin XP的V5.8版本。发现装好后在OEM信息中竟然有从来都没有看见过的Deepin OEM信息,在最上方。搜了一下去掉的方法是:用eXescope打开 WINDOWS\system32\sysdm.cpl文件。修改其中的一些资源(这里是对话框)就可以了。

两种面向对象的C++线程模型(转载CSDN)

两种面向对象的C++线程模型   摘要:本文首先分析对比了Java、C#的线程模型,然后在C++中实现了类似Java的轻量级线程模型 CJThread/IRunable,并在此基础上利用模板和operator->*实现类似C#的线程模型CCSharpThread。本文重点推荐CCSharpThread模型,它不仅是类型安全的,还能将任意一个原型为DWORD()的公有非静态类成员方法作为线程方法。   关键词:C++;模板;operator->*;线程;线程模型          面向对象的线程模型使开发人员能以面向对象的方法来看待线程,并以面向对象的方法实现线程的应用逻辑;它包含两个要素,封装线程逻辑(如线程的创建、销毁、管理等)的线程对象和实现线程应用逻辑的线程方法。C++本身没有提供面向对象的线程模型。目前常用的Win32 Thread和Posix Thread都只提供C界面的API(简称线程API),并且只能用普通C函数作为线程方法。C++的非静态类成员方法由于包含一个隐含的this参数而不能用作线程方法,使得C++程序员开发轻量级(指不采用MFC、VCL等类库)多线程应用时不能利用面向对象的方法看待线程。本文首先分析对比了Java、C#的线程模型,然后在C++中实现了类似Java的轻量级线程模型 CJThread/IRunable,并在此基础上利用模板和operator->*实现类似C#的线程模型CCSharpThread。本文重点推荐CCSharpThread模型,因为它不仅是类型安全的,还能将任意一个原型为DWORD()的公有非静态类成员方法作为线程方法。本文中线程方法是指实现线程应用逻辑的函数。在C++中既可以是全局函数,也可以是类成员方法。 1.      Java、C#线程模型分析对比        Java、C#都提供了面向对象的线程模型。它们都抽象出了线程对象,而开发人员在某个类的成员方法中实现线程应用逻辑。通过分离线程对象和线程方法,简化了线程应用逻辑的开发。 在Java中开发线程有两种方法。第一种方法是由Thread派生一个线程类,实现run方法,并调用Thread.start方法启动线程,如: class MyThread extends Thread { //创建线程类 public void run() {…} //线程方法 } MyThread aThread = new MyThread(); //创建一个线程对象 aThread.start() ; //启动线程 第二种方法是通过实现Runable接口创建一个可执行类,并利用一个Thread对象来启动线程,如:          class MyRunable implements Runnable{ public void run() {…} //线程方法 } MyRunable aRunable = new MyRunable();… Continue reading 两种面向对象的C++线程模型(转载CSDN)

TCP/UDP 缓冲区满

  Q:本地同时与多个主机建立连接,如果这些主机同时发生数据到本地,而本地又没有调用recv进行处理,会出现什么情况? A:系统为每个socket建立一个缓存,ip层组包进程在收到数据包后会把数据放入socket缓存。调用recv将socket缓存的内容copy到程序定义的缓存,如果通信进程不能及时recv,将导致该socket缓存满。如果用tcp协议,socket缓存满以后,系统会向对方发出错误消息,对方回收到wsaewouldblock错误,如果是用udp协议,系统会把该socket的以后收到的数据丢弃~

svn 命令行 faq

在Windows下面大家经常用的是到的客户端是tortoisesSVN ,这个图形工具很强大,但是也有一些缺陷。例如使用tortoiseSVN不能进行svn cp, svn mv以及批量进行文件属性的修改等的操作,而这些通过Subversion命令行工具可以很轻松的实现。 还有tortoiseSVN为了能够实时地在资源管理器上显示当前被管理文件地状态信息,会使用 TSVNCache.exe在后台不断扫描文件系统,这样会占用大量的系统资源,这里有相关地配置说明。使用 Subversion命令行工具则不存在这样地问题,你可以通过 svn st 命令及时获取文件的状态信息。   在这里主要讲的几个小窍门都是和 Subversion的命令行工具相关的,在下面得示例中我使用得都是简写命令,大家可以通过查找 svn的帮助信息获取到详细的命令信息.  1。 如何查找svn 的帮助信息 你可以通过查看 svn book 或者使用 svn help命令查找svn所支持的指令信息 如果要查找更为详细的命令可以通过  svn help 指令名  如 svn help ci ,来查看svn提交指令的参数信息。   2。如果使用 svn rm 删除了不该删除的文件,如何进行恢复? 如果这时你没有使用过svn ci提交代码,那你只需要使用svn revert 文件名就可以将你误删除的文件恢复 如果你已经把删除操作提交到代码库了,别担心 svn代码库并没有彻底的将这些文件删除了(svn就像一个时空保管,保留了你提交的所有文件),你可以通过 svn cp -r PREV 源文件名  目的文件名 恢复   3。添加了不该添加的文件, 如何删除这些文件? 如果在提交代码前,你可以使用 svn… Continue reading svn 命令行 faq

关于YUV和RGB图像格式的问题

关于YUV和RGB图像格式的问题 一、概念 首先名词解释: RGB 对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。RGB (红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可用三个变量来表示—红色、绿色以及蓝色的强度。记录及显示彩色图像时,RGB是最 常见的一种方案。但是,它缺乏与早期黑白显示系统的良好兼容性。因此,件多电子电器厂商普遍采用的做法是,将RGB转换成YUV颜色空同,以维持兼容,再 根据需要换回RGB格式,以便在电脑显示器上显示彩色图形。 YUV YUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL)。YUV主要用于优化彩色视频信号的传输,使其向后兼容老式黑白电视。与RGB视频信号传 输相比,它最大的优点在于只需占用极少的带宽(RGB要求三个独立的视频信号同时传输)。其中“Y”表示明亮度(Luminance或Luma),也就是 灰阶值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是通过 RGB输入信号来创建的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面—色调与饱和度,分别用U和V来表示。其中,V反映了 GB输入信号红色部分与RGB信号亮度值之间的差异。而U反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。 YCrCb 是YUV的一个特例,它是将UV的值限定在了0-1之间 Cb相当于U, Cr相当于V,与RGB之间的转换如下: R′G′B′是指伽玛修正过的RGB值,正常的RGB值的公式是同样的。 公式一:(标准公式) Y = 0.299 R + 0.587 G + 0.114 B Cr = ((B-Y)/1.772) + 0.5 Cb = ((R-Y)/1.402) + 0.5 用8-bit格式表示就是 以下两个公式已经修正到[0-255]的范围 公式二:(RGB => YCbCr) Y = 0.257R′ + 0.504G′ + 0.098B′ + 16 Cb… Continue reading 关于YUV和RGB图像格式的问题

(转载)用DDraw画YV12图像

用DirectDraw显示YV12图像(Draw YV12) // yv12.cpp :  #define WIN32_LEAN_AND_MEAN  // 从 Windows 头中排除极少使用的资料#include <windows.h>#include <stdlib.h>#include <stdio.h>#include <malloc.h>#include <memory.h>#include <tchar.h> #include “ddraw.h”#pragma comment(lib,”ddraw.lib”) // 此代码模块中包含的函数的前向声明:LRESULT CALLBACK  WndProc(HWND, UINT, WPARAM, LPARAM); // 窗口消息处理函数BOOL     DrawYV12(HWND hWnd);    // Draw YV12 图像 // 应用入口int APIENTRY _tWinMain(HINSTANCE hInstance,                     HINSTANCE hPrevInstance,                     LPTSTR    lpCmdLine,                     int       nCmdShow){ MSG msg; WNDCLASSEX wcex; TCHAR szWindowClass[] = “Draw YV12

Linux中的软件

以下软件有空逐一补全安装方法(Ubuntu) Firefox 依赖于 Openoffice Pidgin Scim Eclipse vi/Emacs stardict BT 软件 FTP软件 mplayer 编译选件需要的各种开发包(未全,经常更新) A recent POSIX Shell A C++ compiler. GCC 3.2 or higher is recommended, or your platform’s native C/C++ compiler. Perl GNU make 3.79.1 or higher. Other varieties of “make” will not work. CVS 1.11 or higher A widget toolkit. GTK2  QT… Continue reading Linux中的软件