首页原创精华区最新随笔(rss)

C++中如何获得系统毫秒数

     摘要:   阅读全文

2008-07-04 21:26 作者: codekitten【评论:1】【阅读:161】 

孙鑫vc教学视频讲座中18课 activex中的一个问题

     摘要: 孙鑫的vc教学视频广为流传,不失为一个好的vc教学视频。
其18讲中有个问题,多次被人问到,索性发了上来。  阅读全文

2008-07-04 15:21 作者: AlanTop【评论:0】【阅读:215】 

python连接DB2

公司的项目中有访问DB2数据的需求,我以前也只是听说DB2有这么个咚咚,据说也是个恐龙级的数据库。以前也没有用过DB2 在c语言的接口(访问oracle我一直用oci),网上一兜,才发现DB2有JDBC的访问接口,c方面的很少。
项目的工期比较紧,同时我也不想花太多的时间研究数据库访问接口,所以在项目中许多模块都是用python编写,开发周期短,调试,跨平台也是很吸引人,所以就用python拉。在python.org一搜索,便找到了pydb2,OK! 马上下载pydb1.2,一解开压缩包,原来是原代码,只能编译拉。还好有编译脚本:), 运行setup.py install
出现以下异常:
Compiling under Visual Studio .NET v7 recieves the
following error:

_db2_module.c(1855) : error C2036: 'SQLPOINTER' :
unknown size

This can be resolved by casting to (SQLCHAR *) instead
of a (void *):

< SQLPOINTER buf = (SQLPOINTER)((SQLCHAR
*)bs->buf + (bs->bufLen * idx));

发现原来SQLCHAR类型没有找到,没问题,找到_db2_module.c:1855行修改为:
SQLPOINTER buf = (SQLPOINTER)((void *)bs->buf +
(bs->bufLen * idx));
再次 setup.py install
ok,编译成功,db2.py的模块也被拷贝得到 $PYTHONHOME/lib/site_pakages/下去了
然后安装db2 client runtime
这样就完成了pydb2的运行配置。然后就在odbc中配置一个dsn
测试以下代码:

import DB2
conn = DB2.connect(dsn='sample', uid='db2inst1', pwd='secret')
无异常表示成功连接上DB2
之后访问数据库只要遵循python DBI2.0的规范就可以拉!
生活在python世界是很快乐的事情!

*注意: python2.4的话必须用vc7.1编译pydb2的扩展模块,因为python2.4(win32)也是用vc7.1编译的



2008-07-04 01:28 作者: 放屁阿狗【评论:1】【阅读:387】 

【Linux Kernel】 读码时写的一些笔记,毕竟写给自己看,有些乱(好好理解kernel,能更好写出高效的驱动和应用代码)

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> bh处理 1.三种旧式的bottom half 处理类型 IMMEDIATE_BH:  driver注册入tq_immediate队列,等待调度 TQUEUE_BH:  &n...  阅读全文

2008-07-04 01:11 作者: 放屁阿狗【评论:1】【阅读:470】 

【Dos】TSR 时钟程序 clock.com

     摘要:  在DOS下输入        clock 回车  在屏幕右上角显示时间和作者名,同时颜色变化        clock uninstall  回车  卸载时钟 Code highlighting produced b...  阅读全文

2008-07-03 23:39 作者: 放屁阿狗【评论:2】【阅读:390】 

【Dos】汇编硬盘锁

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  硬盘锁 HDD3.EXE   程序:   zbin    1997-0...  阅读全文

2008-07-03 23:32 作者: 放屁阿狗【评论:0】【阅读:390】 

以前破解的一工程软件

     摘要: 一款工程预算软件,曾经在上海建筑行业一度非常风光研究了其技术,发觉是采用vb16编写的,后来经过升级到了vb32。要破解其实有两个步骤: 1.分析rockey 软件狗加密和调用接口2.vb虚拟解释器的跟踪vb代码跟踪还是比较麻烦的事情,因为软件的加密算法存储在rockey狗里面,软件产生算法并调用加密狗运算,比对其结果是否一致就认为软件合法性了,所以只要跟踪出vb里面的运算算法然后伪造出rocke...  阅读全文

2008-07-03 23:12 作者: 放屁阿狗【评论:0】【阅读:442】 

ACE中HAStatus的含义

     摘要: ACE中HAStatus的含义  阅读全文

2008-07-03 22:52 作者: AlanTop【评论:0】【阅读:362】 

libcurl上传文件实例

     摘要: 简单演示如何使用libcurl上传文件,并且使用tomcat,利用SmartUpload组件搭建了上传页面的测试环境,经测试libcurl成功POST文件......  阅读全文

2008-07-03 16:49 作者: 浪迹天涯【评论:1】【阅读:441】 

如何增加IDA到资源管理器上下文菜单

     摘要: 这里显示如何把IDA增加到右键菜单中。这样当我们反汇编dll和exe文件的时候更加方便。   阅读全文

2008-07-02 19:55 作者: AlanTop【评论:1】【阅读:555】 

使用ida pro做反编译时,要注意类型转换

     摘要: 在使用ida pro把汇编语言翻译成c语言时,要多加注意类型。类型会导致不同的翻译结果。  阅读全文

2008-07-02 19:35 作者: AlanTop【评论:0】【阅读:527】 

将 ATL 的一个顽固 Bug 修正了

     摘要: 用 VC6 和 VC71 装载的 ATL 开发软件的人都知道, 当我们定义了一个自销毁窗口时, 一般在 ATL 窗口类的 virtual void OnFinalMessage(HWND ){...} 函数内加一句 delete this; 然后就返回了. 但是气人的是, 每次当我们返回后, 总有一个地方断言失败, ATLASSERT(pThis->m_pCurrentM...  阅读全文

2008-07-02 15:44 作者: free2000fly【评论:0】【阅读:659】 

怎样走好从技术到管理之路?

     摘要: 软件开发人员怎样走好从技术到管理之路?这是一部分技术人员思考和谈论的老话题。虽然我自己并没有丰富的管理经验,但还是想记载下这一段时间里对这一问题的想法。从我个人走过的路来看,要走顺这条路,应该做好三个方面: 先学会被人管,再学会管自己,最后达到管别人。  阅读全文

2008-07-02 00:01 作者: 梁-兄【评论:7】【阅读:858】 

从汇编语言翻译到c语言中应该注意的问题

     摘要: 从汇编语言翻译到c语言  阅读全文

2008-07-01 23:01 作者: AlanTop【评论:3】【阅读:779】 

Vczh Free Script 2.0 beta 发布

     摘要: 作者保留对源代码的一切权利

文件是一个rar压缩包,结构如下:
【产品】
【Demo】两个Demo的编译结果。这个文件夹里面的脚本代码仅供测试用。
【库】编译结果以及Vczh Free Script 2.0提供的插件封装,使用Vczh Free Script脚本语言编写。
【文档>】使用说明书。
【源代码】源代码仅能使用Visual C++ 2005或以上编译器编译。
【FreeScript】使用FsRuntime.dll写的C++Demo,控制台虚拟机。
【FreeScript_CSharp】使用FsRuntime_clr.dll写的C#Demo,控制台虚拟机。
【FsRuntime】Vczh Free Script 2.0 DLL接口。
【FsRuntime_CLR】使用FsRuntime.dll写的.NET接口。
【Library】
【Data】数据输出以及必要的操作系统接口封装。
  阅读全文

2008-07-01 21:35 作者: 陈梓瀚(vczh)【评论:12】【阅读:678】 

BDP(带宽时延产出)

     摘要: BDP,带宽时延产品,而BDP比较大的又叫长肥网络,具体信息见。  阅读全文

2008-07-01 17:53 作者: 笨笨【评论:4】【阅读:674】 

C++代码风格谷歌版

   原文地址: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Displaying_Hidden_Details_in_this_Guide#Naming

   谷歌的C++代码风格与网上广为流传的林锐风格有很大不同,不过正如文中所言:重要的是保持一致。它还说出了每一种风格的优缺点,这里只说几个比较有意思的。
  
   1)关于空行:
   基本原则:使一个屏幕能容纳更多的代码(显然,这是K&R风格的拥趸)
 
   2) 关于引用参数:
   所有的引用前加 const, 如下列:
   void f(const Object& in, Object& out);  // bad
   void f(const Object& in, Object* out);  // good

   以上两点倒是和Qt相似,还有一个相似的地方是:尽量不要用 unsigned。

   3)关于全局变量:
   禁止使用类全局变量,可以使用一些内置类型的全局变量。(为了避免初始化顺序问题)。

   4)不提倡的C++特性:
   尽量不要使用多重继承;
   尽量不要使用操作符重载;
   尽量不要使用函数重载;
   不要使用函数缺省参数;
   不要使用异常;
   不要使用RTTI;
   内置的整性类型只使用int.(64位可使用int64_t, 指针兼容可使用intptr_t或ptrdiff_t).

   具体的理由和更多的风格参见原文。
   另外,还可以和Java风格做个对比:
   http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

2008-07-01 15:24 作者: eXile【评论:5】【阅读:1009】 

windows vista 网络性能参数调优

     摘要: Windows Vista引进了许多新的特性到TCP/IP栈,包括CTCP和TCP 窗口自动调整。那么这些新的设置与以前的版本中有什么不同?到底对performance产生什么样的影响呢?如果你关注网络的性能,或者你是一个网络程序员,管理员,可以进来一看。(本文是翻译)  阅读全文

2008-07-01 13:27 作者: 笨笨【评论:0】【阅读:618】 

Base64编码解码

     摘要: 用Base64编码解码字符串、文件  阅读全文

2008-07-01 11:02 作者: 【评论:6】【阅读:762】 

acm pku 1010 程序

     摘要:        今天早上终于提交成功了!这道题做了有一个星期多了,老是找不到原因。今天在偶然间发现了,先将代码贴出来,还请大家指正!感谢steven和一个匿名网友的建议,谢谢你们!但是程序运行的时间还是过长,希望大家能够帮助修改。   1#include <stdio.h>  ...  阅读全文

2008-07-01 09:56 作者: Leon916【评论:3】【阅读:685】 

初探数据表现层和业务逻辑层的分离

     摘要: 分离数据表现形式和业务逻辑计算这两个软件部件一直在脑海孕育,但总是没有实现出来。周末以MP3播放器为例,对分离这两者做了一个初步的探索。  阅读全文

2008-06-30 19:27 作者: Wealth【评论:6】【阅读:824】 

把图片转成ASCII码

几天不写程序手就有点生,整理了一段把图片转成ASCII码的程序。暂时只支持24位真彩色图片,ASCII码可以自行扩充。大体算法就是把整个位图分成8*16的小块,计算小块的灰度值总和,然后匹配一个灰度值接近的字符。具体算法细节可以参考网上资料。
程序源代码可以在这里下载。
 

2008-06-29 18:03 作者: 小四【评论:7】【阅读:1001】 

libcurl使用心得

     摘要: libcurl的使用心得,比那个简明心得要更加具体。相信看了这个心得后,你应该对libcrul会有更加了解......  阅读全文

2008-06-28 14:50 作者: 浪迹天涯【评论:3】【阅读:1126】 

使用XPath轻松获得VC9.0工程文件包含的所有代码文件

     摘要: 玩了几天空之轨迹 FC,终于快结束了。距离最后一门考试还有3天,于是把整个XPath的代码写完了。于是试用一下。

现在展示一下我那个XPath的使用方法:
1 VL_List Result;
2 VL_XPath XPath(L"//Files//File[contains(@RelativePath,\".cpp\") or contains(@RelativePath,\".h\")]");
3 XPath.Query(Doc.GetRootElement(),Result); 第一行声明一个XML节点列表,第二行构造一个XPath,第三行将XPath作用在一个XML文档的根节点上。这个XPath用于把VC++9.0的工程文件中包含的所有.h文件和.cpp文件提取出来。虽然Files里面包含若干Filter,每一个Filter包含一些Filter和File,不过输出结果Output.xml把所有的满足要求的File节点都找了出来。

  阅读全文

2008-06-28 12:55 作者: 陈梓瀚(vczh)【评论:2】【阅读:934】 

常见软件登录简要说明(QQ,MSN,盛大冒险岛)

     摘要: 常见软件登录简要说明(QQ,MSN,盛大彩虹岛)  阅读全文

2008-06-27 09:35 作者: 【评论:7】【阅读:1342】 

Symbian OS应用开发学习笔记之通讯录(电话薄Contacts)

     摘要:   Symbian OS应用开发学习笔记之通讯录(电话薄Contacts)   Symbian OS通讯录模型 Symbian OS手机的通讯录采用文件方式存储,用symbian自己的说法就是通讯录数据库。每个Symbian OS手机都有一个默认的通讯录数据库,这个通讯录数据库在2nd和3rd两个版本手机中的位置是不同的,前者是c:\ system\data\Conta...  阅读全文

2008-06-27 08:05 作者: frank.sunny【评论:1】【阅读:1020】 

C语言中strtok与strpbrk的区别(转)

一、strpbrk:

调用格式:result = strpbrk(source-string, searching-string)
用途:在源字符串(source-string)中找出最先含有搜索字符串(searching-string)中的任一字符的位置并返回,若找不到则返回空指针。
注意:返回值是指向源字符串的指针,所以在使用返回结果的时候,请确保源字符串的有效性。
举MSDN中的例子:
数据:
char string[100] = "The 3 men and 2 boys ate 5 pigs\n";
char *result;
调用:
result = strpbrk( string, "0123456789" );//在string中找出最先出现0~9中某一个字符的位置
printf( "1: %s\n", result++ );
result = strpbrk( result, "0123456789" );
printf( "2: %s\n", result++ );
result = strpbrk( result, "0123456789" );
printf( "3: %s\n", result );
输出的结果是:
1. 3 men and 2 boys ate 5 pigs//最先发现3

2: 2 boys ate 5 pigs//最先发现2,注意这时开始源串是上一次的结果的下一位置,即跳过了数字'3',下同

3: 5 pigs//最先发现5

=========================
二、strtok:

用法:token = strtok(source-str,seperator-str)
用途:在source-str中找出以seperator-str中的字符为分隔的字符串,即是源串中除去了含有分隔串中的所有字符后余下的一段段的字符串,每调用一次找到一串,找不到则返回空串。
注意:返回值是指向源串的指针,所以同样要保证源串的有效性,此外,每次调用返回找到的子串的时候都会把源串中该子串的尾部字符(原来是搜索串中的某一字符)修改成'\0'字符。还有一个要注意的是,这个函数使用全局的静态缓冲区(函数自己的静态buffer),所以在某一个线程里不要同时调用这个函数来处理两个字符串,否则极易出现不正常的结果,正确的处理方法是先找出一个字符串中的所有子串,然后才转到处理另一个字符串。多线程之间则不会出现这种干扰。
同样举MSDN中的例子:
数据准备:
char string[] = "A string\tof ,,tokens\nand some more tokens";
char seps[] = " ,\t\n";
char *token;
调用示例:
token = strtok( string, seps );
while( token != NULL )
{
/* While there are tokens in "string" */
printf( " %s\n", token );
/* Get next token: */
token = strtok( NULL, seps );
/*注意到上面这个NULL,它表明的是从上次调用结果中strtok自有的缓冲区中继续取出余下的子串*/
}
显示结果:
A //此时string[1]='\0',原先为空格
string
of
tokens
and
some
more
tokens

2008-06-26 22:16 作者: HYin【评论:4】【阅读:958】 

SCTP vs. TCP

     摘要:   1 流控制传输协议(SCTP)发展简介   随着IP网向多业务网发展,尤其是目前IP电话、IP视频会议等业务的发展,在IP网中传送信令信息成为必然。目前IP网中信令消息的交换通常是使用TCP或UDP完成,但是这两个协议都不能满足电信运营网中信令承载的要求。   为适应IP网成为电信运营核心网的发展趋势,IETF 的信令传输工作组(SIGTRAN)一直在研究和制定IP网新一代的传...  阅读全文

2008-06-26 11:28 作者: Bugs【评论:0】【阅读:1043】 

建立异步操作组件:队列和线程

     摘要: 6.25.2008 Kevin Lynx 引言 在一个高效的系统中,我们经常会将一些费时的操作转换为异步操作。例如往数据库中写日志。如果数据库配置在网络上,那么往数据库中插入一些日志信息将非常慢(相对于程序其他部分)。 如何转换为异步? 将类似于以上过程转换为异步操作,一个典型的做法是:建立一个单独的数据库日志线程,一个线程安全的队列。要写日志时,只需要往队列里放入数据,数据库...  阅读全文

2008-06-25 15:47 作者: Kevin Lynx【评论:14】【阅读:1195】 

VC6 与GCC-avr交叉环境配置

01、在C:或其他盘下安装VC6.0
02、在C:或其他盘下新建ECC文件夹
03、在C:\ECC目录下安装WinAVR-20040720版
04、在C:\ECC目录下新建common文件夹
05、把lib和inc文件夹copy到C:\ECC\common目录下
06、把cl.exe; lhex.exe; link.exe; lview.exe; nmake.exe; rc.exe; sp.exe; ecc.reg; 这8个文件COPY到C:\ECC目录下
07、把EccAddin.pdb和EccAddin.dll 文件copy到VC目录下的\common\msdev98\addins 目录下
08、把GccWizard.awx 文件copy到 VC目录下的\common\msdev98\template 目录下
09、在任何目录下安装port95nt.exe
10、把avr5.x 文件copy到C:\ECC\Winavr\avr\lib\ldscripts 目录下
11、把usertype  文件copy到 VC目录下的\common\msdev98\bin 目录下
12、用记事本打开ecc.reg修改路径并保存,双击此文件添加到注册表中
13、打开VC++6.0; 在tools菜单->options->directories中将 C:\ECC\common\inc和C:\ECC\winavr\include 两个目录添加到include file选项中。同时将C:\ECC目录添加到executable files 选项中;并将之移到顶部。

SP.exe 烧录的配置自己google吧

备注:
07 把EccAddin.pdb和EccAddin.dll 文件copy到VC目录下的\common\msdev98\addins 目录下
这俩文件是自己写d

2008-06-24 12:05 作者: Khan's Notebook【评论:2】【阅读:1055】 

导航

网站分类

广告

统计信息

Google站内搜索

 

聚合

Blog客户端API

推荐客户端

24小时内最热随笔

非技术区

新手区

其他技术区

最新评论

博客排行榜[前100人]

友情链接