- 博客(42)
- 资源 (2)
- 收藏
- 关注
原创 大四写的Linux网络模块
以下是hello.c文件:该模块关闭80端口,及拒绝127.0.0.1的数据包。#include#include#include#include#include#include#include#include#include/* 用于注册我们的函数的数据结构 */staticstruct nf_hook_ops nfho_port;staticstr
2013-05-03 19:42:28
733
原创 MFC
GetOwner()->SendMessage(BCG_CHECK_CHANGED, GetDlgCtrlID());LPARAM转std::string static bool UDgreaterByName(PDB_BasicData elem1, PDB_BasicData elem2){ return elem1->Name == elem2->Name ?
2013-01-07 14:53:51
715
转载 用异或交换两个整数的陷阱
前面我们谈到了,可用通过异或运算交换两个数,而不需要任何的中间变量。 如下面:void exchange(int &a, int &b){ a ^= b; b ^= a; a ^= b;}然而,这里面却存在着一个非常隐蔽的陷阱。通常我们在对数组进行操作的时候,会交换数组中的两个元素,如exchan
2012-10-10 15:09:00
1472
转载 const 指针与指向const的指针
http://www.cnblogs.com/younes/archive/2009/12/02/1615348.html点击打开链接const 指针与指向const的指针当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。 先说指向const的指针,它的意思
2012-10-10 12:11:04
474
转载 Shadow Map & Shadow Volume
http://blog.163.com/wmk_2000_ren/blog/static/138846192201019114117466/
2012-10-08 16:07:31
812
原创 OpenGL FBO
GLuint VolRenCore::RendrToFBO(){ if (!m_Data || !m_Data->GetData()) return 0; if (tex) { glDeleteTexturesEXT(1, &tex); tex = 0; } //init gl glEnable(GL_TEXTURE_2D); glEnable(GL_DEPTH_TEST)
2012-10-08 16:02:32
1889
转载 OpenGL绘制半透明物体
http://bbs.pfan.cn/post-224877.htmlhttp://www.cppblog.com/doing5552/archive/2009/01/08/71532.html一、使用混合来实现半透明效果混合是什么呢?混合就是把两种颜色混在一起。具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。假设我们需要
2012-09-24 19:34:41
5564
转载 OpenGL像素操作
http://www.cppblog.com/doing5552/archive/2009/01/08/71532.htmlhttp://bbs.pfan.cn/post-227694.html简单的OpenGL像素操作OpenGL提供了简洁的函数来操作像素:glReadPixels:读取一些像素。当前可以简单理解为“把已经绘制好的像素(它可能已经被保存到显卡的显存中)读取到内存”
2012-09-24 13:46:19
1277
转载 Opengl入门
OpenGL从推出到现在,已经有相当长的一段时间了。其间,OpenGL不断的得到更新。最新版的是4.3版本。2.x增加顶点着色器,片段着色器3.x增加FBO,几何着色器4.x增加buffer, 镶嵌着色器检查自己的OpenGL版本可以很容易的知道自己系统中的OpenGL版本,方法就是调用glGetString函数。 const char* version = (co
2012-09-23 10:18:26
1994
转载 去除VS2010对汉字的拼写检查后留下的红色波浪线
http://www.cnblogs.com/varding/articles/1886683.html目前没找到好的方法让VA或者VS不对注释部分进行拼写检查,但可以通过给注释的结尾添加 “ ; ” 来减少或者消除红色的波浪线,如果一个分号不够就多加几个。不错,很实用啊。
2012-03-31 11:00:39
1831
原创 关于OpenCv无法驱动lenovo系列笔记本摄像头的解决方法
近日想利用我lenovo笔记本摄像头做一个图像视频程序, 无奈opencv一直无法驱动笔记本摄像头。搞了一整天最后用qq的语音视频设置发现第一个设备居然是averMedia 电视转换卡,然后禁用这个设备驱动就ok了。(在设备管理器上, 声音视频游戏里面将averMedia禁用就行了) 然后运行网上各种例子驱动摄像头一点问题都没有了。 默认是自带摄像头(-1参数),usb摄像头
2012-03-27 08:43:29
3574
原创 如何解决Eclipse中ISO8859-1 字符集?
http://blog.youkuaiyun.com/xinew/article/details/5794386 如何解决Eclipse中ISO8859-1 字符集? 第一种问题:在写JSP时,里面面有涉及到数据库操作,当保存时就会弹出save could n
2011-10-11 18:29:19
1908
原创 QwtScaleMap
QwtScaleMap (包含 QwtScaleTransformation )A scale map. QwtScaleMap offers transformations from the coordinate system of a scale into
2011-09-26 15:34:16
1750
原创 QwtSplineCurveFitter
QwtSplineCurveFitter ---------------> QwtCurveFitterQwtPlotCurve默认有QwtSplineCurveFitter 。 fitMode( QwtSplineCurveFitter:
2011-09-26 10:50:25
926
原创 QwtPlotCurve
这个类可以理解为图层。通过setZ()来设置图层深度。 同一深度只设置一个。1、 void QwtPlotCurve::setRawSamples (const double * xData, const double * yData, int size )
2011-09-22 20:18:02
4562
原创 QwtPlotItem
1、CpuPieMarker ----------------->QwtPlotItemsetRenderHint( QwtPlotItem::RenderAntialiased, TRUE ); //抗锯齿2、Background --
2011-09-22 20:00:33
1410
原创 QwtScaleWidget
QwtScaleWidget 该widget主要用途用来设置scale。(A Widget which contains a scale.)包含color bar, scale , title。与scale设置有关的类:1、QwtScaleDraw:(A cla
2011-09-21 11:37:01
4525
1
原创 QwtPlotPanner
QwtPlotPanner -------------->QwtPannerQwtPlotPanner provides panning of a plot canvas.QwtPlotPanner is a panner for aQwtPlot
2011-09-21 10:58:03
1878
原创 QwtPlotPicker
QwtPlotPicker ------------- >QwtPickerQwtPicker的核心有三个:1、Tracker2、StateMachine3、RubberBand简单来说tracker就是在鼠标光标处显示当前坐标。rubberBand则
2011-09-20 11:10:17
2829
原创 Qt Object Model
The standard C++ object model provides very efficient runtime support for the object paradigm. But its static nature is inflexibile in certa
2011-08-21 13:55:40
763
转载 联想FN+F9控制千千静听
<br />1.最直接是思路是将系统带的微软的播放器wmplayer.exe用千千静听的播放器替换,并将文件名TTPlayer.exe改为wmplayer.exe。同时把千千静听目录下的其它文件也都复制到wmplayer.exe文件所在的目录下。运行,发现打开的还是wmplayer.exe。原来有进程守护着wmplayer.exe,检查不对后会将更改后的文件还原成之前的wmplayer.exe。<br />2.上面的思路行不通,那么就可以从Fn+F9这个快捷键下手,看看Fn+F9摁下后是什么样的驱动程序打开
2011-05-31 12:17:00
2251
1
原创 live cd 修复grub2
sudo -imount /dev/sda1 /media/tempgrub-install --root-directory=/media/temp /dev/sda重启找不到grub.cfg的话grub->kernel /boot/grub/core.imgsudo update-grub2
2011-05-25 19:25:00
723
原创 assignment makes pointer from integer without a cast
<br />gcc 编译器报警<br />warn:assignment makes pointer from integer without a cast<br /> <br />该警告有两种可能<br />1. 第一种就是在赋值error<br /><br /><br />2.第二种就是调用函数时没有声明函数原型, 而编译器默认返回int型;<br /> 所以如果函数返回的不是int型,却进行了返回值调用,会出现这样的error。 <br /><br /> 养成习惯,调用任何函数都要有有原
2011-05-23 16:01:00
3324
原创 GL
<br />#include<GL/glut.h>static int year = 0, day = 0;void init(void){glClearColor(0.0, 0.0, 0.0, 0.0);glShadeModel(GL_FLAT);}void display(void){glClear (GL_COLOR_BUFFER_BIT);glColor3f(1.0, 1.0, 1.0);glPushMatrix();glutWireSphere(1.
2011-05-16 21:31:00
1110
转载 Linux系统下获得本机(通用网卡)ip地址
<br /> <br />在Unix和Linux系统下有两种方法可以获得系统IP地址(gethostbyname和ioctl)<br />gethostbyname通过域名解析获取对应计算机的网络地址,ioctl是一系列的网络函数获得本机的IP<br />(推荐使用ioctl方法,这个方法能给出的ip与ifconfig命令显示的ip一致,并且能不经修改的在arm板上正常运行。而gethostname()联合gethostbyname()方法给出的ip与ifconfig给出的并不一致,无法使用[还不懂为什么]
2011-05-14 19:20:00
905
原创 用read代替scanf的一种用法
2011-05-12 19:42:00#include <stdlib.h>#include <stdio.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#include <fcntl.h>#include <sys/time.h>#include <sys/select.h>#include <signal.h>#define MAX_BUF_LEN 128#define FTPC
2011-05-12 19:42:00
1691
原创 重装linux
unix密码:sudo passwd右键终端:sudo apt-get install nautilus-open-terminal安装svn客户端:sudo add-apt-repository ppa:rabbitvcs/ppasudo apt-get updatesudo apt-get install rabbitvcs-core rabbitvcs-nautilus rabbitvcs-thunar rabbitvcs-gedit rabbitvcs-cli
2011-04-29 11:17:00
782
转载 编码转换
如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文
2011-04-26 13:49:00
562
转载 内存字节对齐
<br /><br /> 1. include/linux/netdevice.h<br />#define NETDEV_ALIGN 32<br />#define NETDEV_ALIGN_CONST (NETDEV_ALIGN - 1)<br />static inline void *netdev_priv(struct net_device *dev)<br />{<br /> return (char *)dev + ((sizeof(stru
2011-04-21 19:19:00
815
转载 js1k
<br /><br />1021字节javascript写成的3D圣诞树<br />demo地址:http://js1k.com/2010-xmas/demo/856 (非Chrome浏览器会非常卡)<br />源码如下:<br /><!doctype html><br /><html><br /> <head><br /> <title>JS1k, 1k demo submission [856]</title><br /> <meta charset="utf-8" /
2011-01-15 17:31:00
947
原创 ubuntu 编辑菜单
<br /><br />关于ubuntu添加应用程序启动菜单<br /> <br />今天尝试着给ubuntu装个c 版eclipse,下载好了,也可以运行了,就是没有启动菜单和桌面快捷方式。<br />首先要知道程序启动文件都在usr/share/applications目录下,用*.desktop文件控制着。<br />然后开始写自己的eclipse.desktop文件。<br /> <br />[Desktop Entry]<br /><br />Name=eclipseonc
2010-12-28 21:34:00
1035
原创 gnome
如何将一个计算器显示在GNOME菜单栏中, 并将这个应用程序安装到一个系统上。如果希望将此计算器安装在GNOME菜单上,需要为此建立一个桌面项。这个桌面项一般是一个具有 .desktop扩展名的文本文件。下面的代码段示出一个样例桌面文件gCalc.desktop:[Desktop Entry]Name=GNOME CalculatorComment=My first killer appExec=gCalcTerminal=0Type=Application一旦建立了gCalc.desktop, 还需
2010-12-28 19:43:00
707
转载 在linux中开发自己的函数库
在linux中开发自己的函数库1.首先,我们先编译HelloWorld.cgcc -c HelloWorld.c -o HelloWorld.o这样我们得到一个二进制的文件HelloWorld.o 2.接着我们生成静态库。ar cqs libHelloWorld.a HelloWorld.o这样我们党额静态链接库就好了。如果有需要可以将其他的二进制文件名加HelloWorld.o的后面将他们连接成一个静态链接库。另外,生成的静态库文件名必须为lib*.a好了,现在我们来使用我
2010-12-24 19:28:00
642
转载 C++保存在栈和堆上的对象
#include <iostream><br />#include <string><br />using namespace std;<br /><br />class Student<br />{<br />private:<br /> string _name;<br />public:<br /> void set(string name){this->_name=name;}<br /> string get(){return this->_name;}<br />};<br /
2010-12-17 23:07:00
1508
转载 linux驱动(二)
<br />http://gmier.com/node/8<br /> <br /><br />序言<br />从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这同过去的编译系统有很大的不同,尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的Makefile,然后根据读到的内容第二次读取Kbuild的Makefile来编译Linux内核。<br />Linux内核Makefile分类Kerne
2010-11-13 14:10:00
957
转载 linux驱动
主设备号、次设备号分配并注册主次设备号 设备号是在驱动module中分配并注册的,也就是说,驱动module拥有这个设备号(我的理解),而/dev目录下的设备文件是根据这个设备号创建的,因此,当访问/dev目录下的设备文件时,驱动module就知道,自己该出场服务了(当然是由内核通知)。 在Linux内核看来,主设备号标识设备对应的驱动程序,告诉Linux内核使用哪一个驱动程序为该设备(也就是/dev下的设备文件)服务;而次设备号则用来标识具体且唯一的某个设备。 在内核中,用dev_
2010-11-11 18:19:00
687
翻译 postgis
InstallWhen you install PostgreSQL, do not install the PostGIS included in the PostgreSQL installer, it is often a few versions behind.Instead, use the separate PostGIS installer.Linux & UNIXtar xvfz postgis-1.3.1.tar.gzcd postgis-1.3.1./configuremak
2010-09-24 19:59:00
1034
转载 编码
<br />中文信息编码标准<br /> <br /> 常用的是GB2312-1980,GB12345,GB13000(GBK),以及最新标准GB18030。<br /> <br />ANSI是默认的编码方式<br /> 对于英文文件是ASCII编码,对于简体中文文件是GB2312编码(只针对Windows简体中文版,如果是繁体中文版会采用Big5码)<br /> <br />Unicode<br /> Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个
2010-09-20 21:00:00
656
转载 内存分区
1、栈区(stack)-由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)-一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)-全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统 释放。4、文字常量区-常量字符串就是放在这里的。程序结束后
2010-09-18 23:30:00
670
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人