自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (21)
  • 收藏
  • 关注

转载 Windows7虚拟盘(VHD)API

虚拟磁盘在 Windows 7 的 API http://msdn.microsoft.com/zh-cn/magazine/dd569754.aspxThe Virtual Disk API In Windows 7Kenny KerrThis article is based on a prerelease version of Windows 7. A

2014-03-21 12:36:31 4756

原创 常用的图像处理小算法

1.RGB24数据的RGB互换BOOL BGRFromRGB(BYTE *buf, UINT widthPix, UINT height){ if (buf==NULL)  return FALSE; UINT col, row; for (row=0;row  for (col=0;col   LPBYTE pRed, pGrn, pBlu;   pRed =

2013-09-25 21:40:17 1107

原创 usb摄像头人脸检测软件

usb摄像头人脸检测、人脸比对。人脸相关的demo 仅供测试使用人脸检测http://pan.baidu.com/share/link?uk=1697956119&shareid=2465807504人脸比对http://pan.baidu.com/share/link?uk=1697956119&shareid=2174039612

2013-09-25 00:26:40 1094 1

原创 CDBVariant 二进制数据读取

CDatabase db;    BOOL bRet = db.Open(NULL, FALSE, FALSE, _T("ODBC;DSN=Gface;UID=root;PWD="));   if(!bRet)   {   return S_FALSE;   }   CString cmdStr;   cmdStr.Format(_T("SELECT t.ID,\ 

2013-08-21 11:01:50 1491

原创 RGB图像缩放

FiResize2用双线性插值FiResize1用邻域法FiResize1速度快点,FiResize2效果好点。两个函数都只进行了简单的浮点优化。如果对速度要求比较高的话可以继续进行mmx和sse优化。有可能考虑不齐会产生内存越界,我这边只进行简单的测试,没出现bug。channels是通道数,RGB彩色图channels为3,单通道黑白图没有测试过。void FiResize2(

2013-08-07 09:24:54 3258

原创 关于动态车牌的捕捉的方案总结

关于动态车牌的捕捉的方案总结        目前社会违法车辆越来越多,部分车辆严重影响公交车辆的的正常运营,尤其在社会车辆抢占公交车辆专用到,影响到公交系统的正常运营秩序,给人民出行带了严重的困扰。为了解决社会车辆抢占公交道路问题。公交部门,采取了相应的措施。如固定卡口抓拍,动态抓拍等。下面我就简单介绍一下动态车牌占道抓拍系统。由于本人亲自参了整个项目。主要是负责编码,在现场的跟车调试

2013-04-23 13:41:01 1819

翻译 从内存中加载的DLL

从内存中加载的DLLe文 http://www.joachim-bauch.de/tutorials/loading-a-dll-from-memory/以下通过google翻译 本教程介绍如何从内存中加载一个动态链接库(DLL)。概括默认的Windows API函数加载到程序的外部库(调用LoadLibrary,LoadLibraryEx)只适用于文件系统

2013-03-26 00:30:17 2679

转载 视频教程

原出处:http://www.xuexi111.com/jiaocheng/shipin/26388.html资料下载地址 (确认已经开启迅雷或电驴)不会下载?[黑客基地:C语言编程特训班].毒宫玫瑰.共26讲.iso783.7MB[黑客基地:Linux操作系统特训班].毒宫玫瑰.共32讲.iso1.2GB[黑客基地:VB编程特训

2013-03-10 23:51:14 3046 1

原创 控件能在网页上自动下载

5年的一个项目中用到的,控件嵌在网页中,当用户访问时提示用户安装并自动下载要想让自己做的控件能在网页上自动下载,首先要建立自己的证书,建立证书需要如下工具 Makecert.exe (Microsoft Visual Studio 8\SDK\v2.0\Bin目录中可以找到)建立自己的根证书:eg:makecert -sk myPK -ss myName -n "CN=Jerry工

2013-03-10 00:18:49 1119

原创 嵌入式中程序升级,使用ftp shell脚本,方式

这个脚本是两年前写的,基本原理是ftp服务器端有个文件列表,客户端定时把文件列表下载下来,校验一下本地文件与升级服务器上的文件是否一致,如果不一致则升级。服务器端的文件列表大概如下count = 101=MD5=ftp路径=设备存放路径。注意!看脚本是先看一下定义,然后从下往上看。#!/bin/sh#升级目录在 /update 中#升级目录在 /up

2013-02-27 10:45:10 2932 2

转载 浮点指令

对下面的指令先做一些说明: st(i):代表浮点寄存器,所说的出栈、入栈操作都是对st(i)的影响 src,dst,dest,op等都是指指令的操作数,src表示源操作数,dst/dest表示目的操作数 mem8,mem16,mem32,mem64,mem80等表示是内存操作数,后面的数值表示该操作数的内存位数(8位为一字节) x 1. 数据传递和对常量的操作指令指令格式

2013-02-16 22:21:20 504

转载 VB程序的破解

朋友们一般都比较害怕VB的程序,原因之一就是VB使用的函数不合我们的“惯用”规则下面我就来给大家介绍一下VB程序的常见函数1) 数据类型转换: a) __vbaI2Str    将一个字符串转为8 位(1个字节)的数值形式(范围在 0 至 255 之间) 或2 个字节的数值形式(范围在 -32,768 到 32,767 之间)。b)__vbaI4Str   将一个字符串转为长整型(

2013-02-16 21:22:21 2372

转载 暴力破解

爆破 顾名思义就是暴力修改程序的代码来达到破解的目的当然根据共享软件的注册方式我们可以对症下药比如说没有注册的软件有功能限制、使用次数限制、使用日期限制等我们就可以分别对待了!我们只需要解除这些限制自然就达到了破解的目的了!暴力破解的一般流程1、有壳者自然得先脱壳2、试注册看看有何提示,让我们抓抓小尾巴3、若有提示,用OD动态调试器或者是W32静态调试器查找错误提示

2013-02-15 22:43:11 1113

转载 区段减肥,去除垃圾区段,重建PE。

区段减肥,去除垃圾区段,重建PE。这个需要一点PE知识,没有也不要紧,跟着一起学,积累经验。备份好脱壳程序,区段减肥有时过量会导致程序无法运行。这次区段减肥只是例子,大家要学会举一反三。-----------------------------------------------------------目标程序是用Armadillo CopyMem-ll +Debug-Bloc

2013-02-15 20:45:20 4287

转载 DLL文件脱壳(重定位表修复部分)

标 题:DLL文件脱壳(重定位表修复部分)作 者:kanxue 时 间:2008-03-16 10:42链 接:http://bbs.pediy.com/showthread.php?t=61334 13.5 DLL文件脱壳 DLL文件的脱壳与EXE文件步骤差不多,所不同的是,DLL文件多了个基址重定位表等要考虑。 在2003年出版的《加密与解密》(第二版)中以

2013-02-15 12:50:39 11870

转载 中山大学汇编语言教程

这里有用讯雷下载的,速度也很快:ftp://210.51.180.252/bbs/computer/中山大学汇编语言教程01[www.TopSage.com].rarftp://210.51.180.252/bbs/computer/中山大学汇编语言教程02[www.TopSage.com].rarftp://210.51.180.252/bbs/computer/中山大学汇编语言教程

2013-02-14 13:19:41 1082

转载 壳的介绍已经脱壳常用思路

一、概论壳出于程序作者想对程序资源压缩、注册保护的目的,把壳分为压缩壳和加密壳两种UPX ASPCAK TELOCK PELITE NSPACK ...ARMADILLO ASPROTECT ACPROTECT EPE SVKP ...顾名思义,压缩壳只是为了减小程序体积对资源进行压缩,加密壳是程序输入表等等进行加密保护。当然加密壳的保护能力要强得多!二、常见脱壳方法

2013-02-13 15:33:12 1182

转载 ESP定律与内存断点

ESP定律一.准备知识在我们开始讨论ESP定律之前,我先给你讲解一下一些简单的汇编知识。1.call这个命令是访问子程序的一个汇编基本指令。也许你说,这个我早就知道了!别急请继续看完。call真正的意义是什么呢?我们可以这样来理解: 1.向堆栈中压入下一行程序的地址;2.JMP到call的子程序地址处。例如:00401029.E8 DA240A00 call

2013-02-13 15:27:51 1681

转载 OD使用技巧

OllyDbg 常用快捷热键聆风听雨整理===============================================================打开一个新的可执行程序 (F3)重新运行当前调试的程序 (Ctrl+F2)当前调试的程序 (Alt+F2)运行选定的程序进行调试 (F9)暂时停止被调试程序的执行 (F12)单步进入被调试程序的 Cal

2013-02-13 15:23:43 2290

转载 为什么rar密码不能被破解

一、Rar文件生成的流程。  Winrar加密文件时,总的分两个步骤:   1:先把源文件压缩,压成一段数据段。   2:再将压缩完的数据段加密。  对于同一个源文件来说,不进行加密,压缩完,其rar文件中的数据段是一模一样的。但是如果对同一个源文件来说,即使使用同一个密码,加密完rar文件中的数据段是不一样的,这是由于加密的密钥是依赖于一个Salt(8个字节的密钥

2013-02-05 14:34:39 11233

原创 在结构体内初始化整型变量位长度

有时我们在制定协议是会用到位。如起始位 1 位数据位 3 位。。。结束位3位那么我们怎么指定结构体呢?在定义结构体时,我们可以指定变量的位长如下struct AAA{  unsigned int stx:1; //只取1位  最好用unsigned 类型 不然 得到值有可能为-1  unsigned int data:3;   //只取3位  u

2013-02-05 11:03:27 997

原创 tts语音播报

在嵌入式设备中常常会用到tts(Text To Speech)播报,在使用tts语音库时需要注意一下几点:1、生成tts语音的频率。通常情况下 tts语音频率为8k。2、设备声卡支持的频率。这个跟硬件有关系。有8k、16、32等。如果生成的语音频率与硬件不匹配,那么我们怎么处理呢?我们可以把tts语音频率转换为硬件支持的频率。通常 SOUND_PCM_WRITE_BITS 为1

2013-02-04 17:04:25 5823 1

原创 音视频格式转换

前一阶段,项目中用到无线传输视频文件。视频采用h264格式。但是由于无线传输,我们在保证视频的质量情况下降低帧率和码流。但处理后的视频还是是很大。想到的方案有两种:1、h264再次压缩(低码流)。由于太专业。往往花钱购买。2、视频格式转码。网上有许多视频压缩转码软件。经过考虑决定采用第二中方案。但是由于第三方的软件部提供api接口。我们怎么才能调用呢?这个是个问题。脑袋一热 想

2013-02-01 00:34:53 1578 1

转载 OD快捷键使用大全。非常详细(游戏逆向分析必看)

无论当前的OllyDbg窗口是什么,这些快捷键均有效: Ctrl+F2 - 重启程序,即重新启动被调试程序。如果当前没有调试的程序,OllyDbg会运行历史列表[history list]中的第一个程序。程序重启后,将会删除所有内存断点和硬件断点。译者注:从实际使用效果看,硬件断点在程序重启后并没有移除。Alt+F2 - 关闭,即关闭被调试程序。如果程序仍在运行,会弹出一个

2013-01-19 01:05:35 47448 2

转载 try except and try catch ZZ

原地转http://blog.csdn.net/lingqinghua/article/details/558182  文章开始,将全面阐述__try,__except,__finally,__leave异常模型机制,它也即是Windows系列操作系统平台上提供的SEH模型。主人公阿愚将在这里与大家分享SEH的学习过程和经验总结。  SEH有两项非常强大的功能。当然,首先是异常处理模型

2012-10-17 14:02:26 517

转载 c++中const的作用

const给人的第一印象就是定义常量。(1)const用于定义常量。    例如:const int N = 100;const int M = 200;    这样程序中只要用到 N、M 就分别代表为整型100、200,N、M 为一常量,在程序中不可改变。    但有人说他编程时从来不用const定义常量。我相信。但他是不懂得真正的编程艺术,用const定义常量不仅能

2012-10-17 14:00:26 492

原创 C# 调用C++动态库回调函数

C#调用C++库,C++库中有回调函数。C++ 接口如下typedef long (CALLBACK *MidwareDeviceCallBack)(void* pData, long lDataLen,long lPackType, long lSubType,int lSmartType, void* pUserData); long ConnectMidwareDvsDevi

2012-10-17 13:55:54 7182

原创 C#调用C++库参数为导出函数

C++ 库的接口定义如下#ifdef TESTDLL_EXPORTS#define TESTDLL_API __declspec(dllexport)#else#define TESTDLL_API __declspec(dllimport)#endif//strMsg 输入参数, pRetMsg 输出参数TESTDLL_API int WINAPI HelloDll(

2012-02-23 17:57:28 1145

转载 GCC 选项

GCC 选项 GCC 有超过100个的编译选项可用. 这些选项中的许多你可能永远都不会用到, 但一些主要的选项将会频繁用到. 很多的 GCC 选项包括一个以上的字符. 因此你必须为每个选项指定各自的连字符, 并且就象大多数 Linux 命令一样你不能在一个单独的连字符后跟一组选项. 例如, 下面的两个命令是不同的:gcc -p -g test.c gcc -pg test.c

2011-11-26 15:19:41 714

转载 scanf和printf函数家族用于格式化输入和输出(转)

scanf和printf函数家族用于格式化输入和输出,功能非常强大,但是也非常容易出错。尤其是scanf后果更为严重,动不动就是内存访问错误。       由于在C中,整型默认为int,浮点型默认为double。所以用scanf读入short和long需要分别用%hd和%ld,而浮点数又有些特别,%f对应的是float,而不是%hf,相反double对应的%lf,而long double对应的

2011-11-26 15:15:13 2848

原创 linux Eclipse 使用数学库 配置方法

<br />Linux下 ,如果程序包含 math.h ,在gcc时必须加入 lm 例如:gcc -o main.o main.c -lm<br />但是在eclipse下面 编译,项目回自动生成makefile ,无论如何手动修改makefile,在编译的时候也会被eclipse修改成原来的样子。<br />这个lm的设置方法如下<br /> <br />网上介绍如下:<br />选择"project"><br />"propertise"><br />"C/C++ Build"><br />C/C++

2011-03-23 14:46:00 1002

原创 vs2010编译提示错误

>LINK : fatal error LNK1146: 没有用选项“/out:”指定的参数1>CL : Command line warning D4024: unrecognized source file type '?', object file assumed

2011-03-19 11:57:00 8513 4

原创 arm-linux下 编写Makefile

<br />c代码 a.c如下<br />int main(int argc ,char **argv)<br />{<br />        printf("hello world!/n");<br />        return 0;<br />}<br />方法1<br />Makefile 内容如下<br />CROSS=/usr/local/arm/3.4.1/bin/arm-linux-<br />CC=gcc<br />all:<br /> $(CROSS)$(CC) -o test a.

2010-10-28 15:33:00 4552

原创 安装交叉编译工具 arm-linux-gcc-3.4.1

<br />1、首先,下载一个源码包:arm-linux-gcc-3.4.1.tar.bz2。<br />2、将源码包拷贝到根目录“/”下,解压后确认目录为:“/usr/local/arm/3.4.1/”。<br />3、添加环境变量到系统中:打开“/etc/bashrc”,并在 bashrc 文件的最后一<br />行添加:“export PATH=/usr/local/arm/3.4.1/bin:$PATH”,保存,此时环境变量已<br />经添入系统。<br />4、只要在终端中输入“arm-linu

2010-10-26 19:47:00 3260

原创 如何下载深圳市劳动和社会保障业务网上服务大厅养老保险及医疗保险详单

查询养老保险及医疗保险详单的网站如下:http://61.144.253.110/NetHall/index.jsp在登录以后,可以查询各种缴费情况,但是各种缴费详单另存为的时却没有数据无法下载! 本人通过工具找到了各种详单的地址具体方法是:登录后(必须登录后才可以哦),重新打开一个网页(注意前一个登录的网页不要关闭),在网页地址栏输入如下地址可以查到 养好保险详单,这

2010-05-27 14:38:00 4250

原创 oracle中sql语句中的in的条件数量大于1000有问题

oracle中sql语句中select * from t_Test t where  t.Id in(1,2,3......)/*数量不能大于1000个*/解决方法 分割成多次in 然后再或上  如 select * from t_Test t where  t.Id in(1,2,3......800) or  t.Id in(801,802,803......1300)在使用中最好能不

2010-01-30 13:17:00 6265 1

原创 升级权限(有是在pl中想要测试(调试)存储过程 由于没有权限不能调试。所以需要提升权限。提升权限如下图).

cmd c:/>sqlplus "sys/ segorcle@wuxi110 as sysdba" SQL> grant debug connect session to avls;segorcle@wuxi110  数据库的实例名avls 数据库的登录名

2010-01-04 13:03:00 698

原创 WebService Ref, Out

前一阶段做了一个项目是关于vc++ 调用webservice 参数是结构体数组。如果使用了ref 那么就必须在vc++ 先把参数初始化。如果使用 out 那么就必须在C#这边初始化。否则会报错。建议如果使用 ref 最好把结构体在构造时初始化如下//组树结构体typedef struct __SEGINFO{ DWORD CORPID;//警局ID , DWORD PARENTCORP

2009-12-24 17:27:00 2890

原创 控件注册

一般注册控件的时候,如果控件所在路径中有空格的最好使用短路径 。如果使用长路径一般会注册失败。如C:/Documents and Settings/Administrator/桌面/远程控制台/远程控制台/UNICOWS.DLL短路径为C:/DOCUME~1/ADMINI~1/桌面/远程控~1/远程控~1/UNICOWS.DLL DWORD GetShortPathName

2009-12-24 17:12:00 1565

转载 保存剪切板上的bmp图片到文件

把剪切板中的图片内容保存为图片BOOL  CXXXXXX::SaveBitmap(const   BITMAP   &bm,HDC   hDC,HBITMAP   hBitmap,LPCTSTR   szFileName)     {         int   nBitPerPixel   =   bm.bmBitsPixel;//获得颜色模式             int   nW  

2009-03-06 10:06:00 2187

Loading a DLL from memory

内存加载dll Loading a DLL from memory Loading a DLL from memory This tutorial describes a technique how a dynamic link library (DLL) can be loaded from memory without storing it on the hard-disk first. Author: Joachim Bauch Contact: mail@joachim-bauch.de Copyright: Creative Commons License (by-sa) Contents • Overview • Windows executables - the PE format • DOS header / stub • PE header • Section header • Loading the library • Allocate memory • Copy sections • Base relocation • Resolve imports • Protect memory • Notify library • Exported functions • Freeing the library • MemoryModule • Downloads • Known issues • License • Ports • Copyright Overview The default windows API functions to load external libraries into a program (LoadLibrary, LoadLibraryEx) only work with files on the filesystem. It's therefore impossible to load a DLL from memory. But sometimes, you need exactly this functionality (e.g. you don't want to distribute a lot of files or want to make disassembling harder). Common workarounds for this problems are to write the DLL into a temporary file first and import it from there. When the program terminates, the temporary file gets deleted. In this tutorial, I will describe first, how DLL files are structured and will present some code that can be used to load a DLL completely from memory - without storing on the disk first. Windows executables - the PE format Most windows binaries that can contain executable code (.exe, .dll, .sys) share a common file format that consists of the following parts: DOS header DOS stub PE header Section header Section 1 Section 2 . . . Section n All structures given below can be found in the header file winnt.h. DOS header / stub The DOS header is only used for backwards compatibility. It precedes the DOS stub that normally just displays an error message about the program not being able to be run from DOS mode. Microsoft defines the DOS header as follows: typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_magic; // Magic number WORD e_cblp; // Bytes on last page of file WORD e_cp; // Pages in file WORD e_crlc; // Relocations WORD e_cparhdr; // Size of header in paragraphs WORD e_minalloc; // Minimum extra paragraphs needed WORD e_maxalloc; // Maximum extra paragraphs needed WORD e_ss; // Initial (relative) SS value WORD e_sp; // Initial SP value WORD e_csum; // Checksum WORD e_ip; // Initial IP value WORD e_cs; // Initial (relative) CS value WORD e_lfarlc; // File address of relocation table WORD e_ovno; // Overlay number WORD e_res[4]; // Reserved words WORD e_oemid; // OEM identifier (for e_oeminfo) WORD e_oeminfo; // OEM information; e_oemid specific WORD e_res2[10]; // Reserved words LONG e_lfanew; // File address of new exe header } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER; PE header The PE header contains informations about the different sections inside the executable that are used to store code and data or to define imports from other libraries or exports this libraries provides. It's defined as follows: typedef struct _IMAGE_NT_HEADERS { DWORD Signature; IMAGE_FILE_HEADER FileHeader; IMAGE_OPTIONAL_HEADER32 OptionalHeader; } IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32; The FileHeader describes the physical format of the file, i.e. contents, informations about symbols, etc: typedef struct _IMAGE_FILE_HEADER { WORD Machine; WORD NumberOfSections; DWORD TimeDateStamp; DWORD PointerToSymbolTable; DWORD NumberOfSymbols; WORD SizeOfOptionalHeader; WORD Characteristics; } IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER; The OptionalHeader contains informations about the logical format of the library, including required OS version, memory requirements and entry points: typedef struct _IMAGE_OPTIONAL_HEADER { //

2013-03-26

内存加载dll

内存加载动态库 MemoryLoadLibrary 有例子。 /* * Memory DLL loading code * Version 0.0.3 * * Copyright (c) 2004-2013 by Joachim Bauch / mail@joachim-bauch.de * http://www.joachim-bauch.de * * The contents of this file are subject to the Mozilla Public License Version * 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is MemoryModule.h * * The Initial Developer of the Original Code is Joachim Bauch. * * Portions created by Joachim Bauch are Copyright (C) 2004-2013 * Joachim Bauch. All Rights Reserved. * */ #ifndef __MEMORY_MODULE_HEADER #define __MEMORY_MODULE_HEADER #include typedef void *HMEMORYMODULE; typedef void *HMEMORYRSRC; typedef void *HCUSTOMMODULE; #ifdef __cplusplus extern "C" { #endif typedef HCUSTOMMODULE (*CustomLoadLibraryFunc)(LPCSTR, void *); typedef FARPROC (*CustomGetProcAddressFunc)(HCUSTOMMODULE, LPCSTR, void *); typedef void (*CustomFreeLibraryFunc)(HCUSTOMMODULE, void *); /** * Load DLL from memory location. * * All dependencies are resolved using default LoadLibrary/GetProcAddress * calls through the Windows API. */ HMEMORYMODULE MemoryLoadLibrary(const void *); /** * Load DLL from memory location using custom dependency resolvers. * * Dependencies will be resolved using passed callback methods. */ HMEMORYMODULE MemoryLoadLibraryEx(const void *, CustomLoadLibraryFunc, CustomGetProcAddressFunc, CustomFreeLibraryFunc, void *); /** * Get address of exported method. */ FARPROC MemoryGetProcAddress(HMEMORYMODULE, LPCSTR); /** * Free previously loaded DLL. */ void MemoryFreeLibrary(HMEMORYMODULE); /** * Find the location of

2013-03-26

效能桌面便笺专业版_3.10(Build 327)绿色破解版

效能桌面便笺专业版_3.10(Build 327)绿色破解版

2013-02-19

ASProtect.SKE.V2.4.Beta.09.11

ASProtect.SKE.V2.4.Beta.09.11

2013-02-18

高质量 C++/C 编程指南

软件质量是被大多数程序员挂在嘴上而不是放在心上的东西! 除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌: “哇!我以 前捏造的 C++/C 程序怎么会有那么多的毛病?” 别难过,作者只不过比你早几年、多几次惊慌而已。 请花一两个小时认真阅读这本百页经书,你将会获益匪浅,这是前面 N-1 个读者的 建议。 一、编程老手与高手的误区 自从计算机问世以来,程序设计就成了令人羡慕的职业,程序员在受人宠爱之后容 易发展成为毛病特多却常能自我臭美的群体。 如今在 Internet 上流传的“真正”的程序员据说是这样的: (1) 真正的程序员没有进度表,只有讨好领导的马屁精才有进度表,真正的程序员会让 领导提心吊胆。 (2) 真正的程序员不写使用说明书,用户应当自己去猜想程序的功能。 (3) 真正的程序员几乎不写代码的注释,如果注释很难写,它理所当然也很难读。 (4) 真正的程序员不画流程图,原始人和文盲才会干这事。 (5) 真正的程序员不看参考手册,新手和胆小鬼才会看。 (6) 真正的程序员不写文档也不需要文档,只有看不懂程序的笨蛋才用文档。 (7) 真正的程序员认为自己比用户更明白用户需要什么。 (8) 真正的程序员不接受团队开发的理念,除非他自己是头头。 (9) 真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个 30 小时的调试改错。 (10) 真正的程序员不会在上午 9:00 到下午 5:00 之间工作,如果你看到他在上午 9:00 工 作,这表明他从昨晚一直干到现在。 …… 具备上述特征越多,越显得水平高,资格老。所以别奇怪,程序员的很多缺点竟然 可以被当作优点来欣赏。就象在武侠小说中,那些独来独往、不受约束且带点邪气的高 手最令人崇拜。我曾经也这样信奉,并且希望自己成为那样的“真正”的程序员,结果 没有得到好下场。

2013-02-14

C指针详解(经典,非常详细).pdf

要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍 一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一 个类型里会出现很多运算符,他们也像普通的表达式一样,有优先 级,其优先级和运算优先级一样,所以我总结了一下其原则: 从变量名处起,根据运算符优先级结合,一步一步分析. 下面让我们先从简单的类型开始慢慢分析吧:

2013-02-14

usb 设备遍历

此代码是遍历pc上usb设备。 包含控制器 hub port 设配id 等信息 usb其实和串口是一样的,其端口也是固定的(如果你不接扩展hub)。 有时一台电脑接多个相同的usb设备,如果接连个摄像头(前后各一个),我们如果区分打开的是哪一个呢? 1、先把usb设备先遍历出来,得到usb信息(设备串等)。 2、通过打开usb设备时返回信息(这个很重要 //usb#vid_1d27&pid;_0600#5&10ef021e;&0&5#{c3b5f022-5a42-1980-1909-ea72095601b1})。 3、遍历注册表得到usb设备信息(#define USB_REGPATH "SYSTEM\\CurrentControlSet\\Enum\\USB\\" )。 4、通过第1条的设备串、第2条打开设备返回信息、注册表。就可以确定usb设备(控制器->hub->端口) read by jerry

2013-01-22

鼠标浮与CEdit上方显示提示信息

当鼠标移动到CEdit上方是,显示提示信息,其实现主要是重载Cedit类

2013-01-16

C# 调用c++ 库 参数为指针类型导出函数

CSharp 调用C++ DLL; 参数为指针类型导出函数 c# Csharp调用 c++库 参数为导入和导出指针两种 包含C++ DLL源码 如fun(cont char* A,char*B) A为输入参数,B为输出参数-C# CSharp call C++ DLL lib dll function param use export and import eg: fun(cont char* A,char*B) A IN,B OUT TestDll\Debug\TestCallDll.exe .......\.....\TestCallDll.vshost.exe .......\.....\TestCallDll.vshost.exe.manifest .......\.....\TestDll.dll .......\.....\TestDll.lib .......\TestCallDll\Form1.cs .......\...........\Form1.Designer.cs .......\...........\Form1.resx .......\...........\obj\Debug\TestCallDll.csproj.FileListAbsolute.txt .......\...........\...\.....\TestCallDll.csproj.GenerateResource.Cache .......\...........\...\.....\TestCallDll.exe .......\...........\...\.....\TestCallDll.Form1.resources .......\...........\...\.....\TestCallDll.pdb .......\...........\...\.....\TestCallDll.Properties.Resources.resources .......\...........\Program.cs .......\...........\...perties\AssemblyInfo.cs .......\...........\..........\Resources.Designer.cs .......\...........\..........\Resources.resx .......\...........\..........\Settings.Designer.cs .......\...........\..........\Settings.settings .......\...........\TestCallDll.csproj .......\....Dll\dllmain.cpp .......\.......\ReadMe.txt .......\.......\stdafx.cpp .......\.......\stdafx.h .......\.......\targetver.h .......\.......\TestDll.cpp .......\.......\TestDll.def .......\.......\TestDll.h .......\.......\TestDll.vcproj .......\.......\TestDll.vcproj.PC-201008261742.Administrator.user .......\TestDll.sln .......\TestDll.suo .......\....CallDll\obj\Debug\TempPE .......\...........\...\Debug .......\...........\obj .......\...........\Properties .......\Debug .......\TestCallDll .......\TestDll TestDll

2012-02-23

地球上两点的距离(内有算法)

地球上两点的距离 点到点的距离公式 内有算法可以查看

2011-05-12

ISE_11_1CRACK

Xilinx ISE 11.1 CRACK license.lic

2011-04-25

tcp代理、tcp抓包、端口映射 调试tcp通信是用到.可以显示字符串和asci码。

tcp代理、tcp抓包、端口映射 调试tcp通信是用到.可以显示字符串和asci码。

2010-11-05

Udp代理(vc开发)

Udp代理 udp转发 udp抓包可以显示16进制ASC码 vs2005编写

2010-10-15

Qt 4.3 白皮书 QT中文版

Qt 4.3 白皮书 QT中文版 pdf格式

2010-03-16

C++ GUI Programming with Qt 4, Second Edition.chm

qt e文的 C++ GUI Programming with Qt 4, Second Edition

2010-03-16

霍尼韦尔Max1000矩阵键盘协议

霍尼韦尔 Max1000矩阵键盘协议,在文件里已经做了说明。如果有疑问请发Email。

2010-02-25

ActiveX控件执行时不弹出安全性提示

此demo是用Atl开发的,里面有调用方法及接口说明。此的demo只能隐藏本地控件运行时的安全提示。 如果是服务器上下载的控件得需要证书。并且还得添加为信任站点。

2009-09-22

Windows服务安装,启动,停止,卸载 (vc源码)

此demo 用于windows服务的检测,启动、停止、安装,卸载等。

2009-03-25

安定宝协议

安定宝协议 Contact_ID 此协议一般用在安防产品上,现在很多国内的安防产品都在用,电信也在用。

2008-06-08

occi使用手册(11g Release 1 (11.1))

occi使用手册(11g Release 1 (11.1))

2008-05-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除