关闭

遇到一个诡异的regedit.exe程序问题

  最近在调试一个注册表操作相关的程序。调试注册表写入代码时发现了一件奇怪的事情。用RegSetValue API执行注册表写入操作,该函数返回执行成功,但是通过regedit.exe查看注册表时却发现内容没有被修改(重新启动regedit,按F5刷新均告无效)。一开始我反复调试,以为肯定是写入失败了,但API确实返回了执行成功。于是我试着通过RegQueryValueEx执行读取操作,居然能读到我修改到的值。  最后不得不怀疑是regedit.exe程序的问题。于是下载了一个第三方...
阅读(1955) 评论(2)

[转]一些计算几何的基础

转载地址:http://blog.sina.com.cn/s/blog_4d0d397d01009w5f.html计算几何基本概念和常用算法_廖永峰_新浪博客本文整理的计算几何基本概念和常用算法包括如下内容:矢量的概念矢量加减法矢量叉积折线段的拐向判断判断点是否在线段上判断两线段是否相交判断线段和直线是否相交判断矩形是否包含点判断线段、折线、多边形是否在矩形中判断矩...
阅读(2004) 评论(0)

去年写的代码大全笔记(其实是摘记)

Reader: Roof前言:     虽然近年来前卫的开发实践迅速发展,但普通的实践手段并没有太大变化。很多程序的开发依然漏洞百出、迟于交付并且超出预算。    软件业的现状是,很多程序员并未接受正规的软件开发教育。    软件业的内行人士,几乎没有心情去分享他们的编程经验和技术,即使有,也是非常零散的。    学习并掌握不止一门语言通常是专业程序员职业生涯的分水岭。    软件构建这个阶段,常常被忽视。    “代码构建”一般占据...
阅读(3291) 评论(0)

从floyd算法学习动态规划

    floyd的相关概念看这里。    floyd的代码实现其实很简单:    void floyd() { for(k=0;k    这里我一直好奇的是这三个漂亮的循环是怎么完成最终正确的结果的,如何证明它们是正确的。直到看了这里的解析,才算弄懂了。    floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径。从动态规划的角度看问题,我们需要为这个目标重新做一个诠释(这个诠释正是动态规划最富创造力的精华所在),floyd算法加入了这个概...
阅读(7508) 评论(2)

[转]马化腾:如何从“较好”到“最好”

马化腾:如何从“较好”到“最好”本文发表于 2009-06-15 08:31 |246次阅读 | 来源:21世纪经济报道 | 共有评论()条 发表评论关键词:腾讯  | 感谢ydj9931的提供 | 收藏这篇新闻 ...
阅读(1895) 评论(0)

windows API练习(2)多字节编码转UNICODE编码

wstring MtbToWstr( const string& str, UINT uCodePage = CP_ACP ){ LPWSTR lpwszWide = NULL; DWORD cbszWide = 0U; DWORD dwRet = 0U; wstring wstrRet; /// calculate the require size cbszWid...
阅读(3074) 评论(0)

windows API练习(1)返回错误码字符串的函数

#include #include using std::wstring;wstring GetErrIDMsg( DWORD dwError ){ HLOCAL hlocal = NULL; wstring wstrRetMsg; DWORD dwRet = FormatMessageW( FORMAT_MESSAGE_FROM_S...
阅读(1908) 评论(0)

C++的=运算符重载并非简单内存拷贝

    当我们定义一个C++类,如果没有为其定义=运算符重载,那么编译器就为其定义默认的=运算符重载。即默认拷贝。前阵子一个朋友问我:默认的=运算符重载是否就是直接的内存拷贝?   由于自己功底有限,没有考虑过这个问题,所以不敢立刻回答。虽然我们常说浅复制和深复制,但我确实没有想过默认拷贝函数是否只是简单的拷贝内存内容。   当然,事实胜...
阅读(2063) 评论(3)

迅雷2008实习生笔试题C++卷题解

具体题目从我上传的资源上下。http://download.csdn.net/source/6825641.C 2.D  3.题目有误 4.B 5.D  6.题目有误  7.A  8.B  9.B  10.B 11.D(题目有误,少打了%d) 12.A 13.题目有误!s1指向的空间是常量区,不可修改!     正确的程序应该是 char s1[] = "12345", s2[] = "1234"...
阅读(2612) 评论(0)

windows下安全的创建子进程

#include int main(){    STARTUPINFO si = { sizeof(si) };    PROCESS_INFORMATION pi;    TCHAR szCommandLine[] = TEXT("c://o//yes");    SetErrorMode( SEM_NOGPFAULTERRORBOX );    BOOL bCreateRet = Create...
阅读(5431) 评论(0)

用命名内核对象防止windows同时运行两个程序

利用创建命名内核对象的方法可以防止同时运行程序,由于可能其他人写的程序用的命名会与自己的重复,所以建议采用唯一的GUID。以下代码根据《winows核心编程》整理。#include #include int main(){    HANDLE h = CreateMutexW(NULL, FALSE, L"{FA531CC1-0497-11d3-A180-00105A276C3E}");    i...
阅读(2331) 评论(1)

编程习惯:提供内存分配的成对原则

  读《windows核心编程 4ed》(Jeffrey Richter 著 黄陇、李虎 译)后的笔记开发人员可能会犯这么一个错误:提供申请内存空间的函数,却没有提供对应的释放空间的函数,而是寄希望于用户(程序员)通过标准释放方式来解决问题。如以下代码:VOID EXEFunc(){    PVOID pv = DLLFunc();    free(pv);}PVOID DLLFunc(){   ...
阅读(1929) 评论(0)

windows错误码返回文本信息的封装类

写个实用的小类,用于输出win的错误码文本信息,因为直接使用FormatMessage确实会繁琐一点。所以将类设计成函数对象的形式。默认以英文、方式输出,省去了自己设定语言类别的麻烦。当然自己可以设定语言类别(参看MSDN)。/// 声明/*** @author   roofalison* @date     2008-09-24-14:03* @class        windows错误码显示...
阅读(2206) 评论(0)

慎用C++ std::map 的[]运算符

map的[]运算符在用法上和我们对[]常规理解大有出入,因此也往往很容易造成了使用上的失误,在这点上我强烈认为stl设计犯了大错。首先看其函数声明:T& operator[] ( const key_type& x );在 http://www.cplusplus.com/reference/stl/map/operator[].html 的描述中,该声明等效于:(*((this->insert(...
阅读(6553) 评论(2)

对集合中元素,求是否存在两个元素之和大小为X的两种做法

 一、二分法 步骤:1、将集合元素拷贝到数组A(在这里假设集合元素非随机存储)2、对A进行排序3、遍历A[1..N-1],对A[i+1..N]元素进行二分查找,查找元素为X-A[i] 二、哈希法步骤1、初始化哈希表为空2、遍历A[1..N],对于A[i],在哈希表中查找是否存在X-A[i],若否,将A[i]加入哈希,若是,返回TRUE ...
阅读(1895) 评论(0)

排序算法代码---归并排序

#include void mergeSort(int A[], int len);void show(int A[], int len);int main(){ int A[] = {1, 3, 2, 5, 7}; int len = 5; mergeSort(A, 5); show(A, 5); return 0;}// A[p..q]和A[q+1....
阅读(1800) 评论(2)

排序算法代码---插入排序

#include void insertionSort(int A[], int len);void show(int A[], int len);int main(){ int A[] = {1, 3, 2, 5, 7}; int len = 5; insertionSort(A, 5); show(A, 5); return 0;}void inse...
阅读(3087) 评论(0)

查找链表倒数第N个结点的地址(C++)

/**//* * Author : roof */#include stdio.h>template typename Elm>struct Node ...{    Elm elm;    Node* next;};template typename Elm>NodeElm>* lastPos(NodeElm>* head, int num) ...{    if (num  0)     ...
阅读(1875) 评论(0)

我的AVL树代码实现(欢迎测试)

 #include iostream>using namespace std;template typename T>class AVLNode ...{public :    AVLNode() : bal(0), height(0), lch(0), rch(0), par(0) ...{    }    AVLNode(const T& oelm) : bal(0), height(...
阅读(2663) 评论(2)

(深信服笔试题)简单文本文件的过滤高频率单词C++代码

这是深信服的一道笔试题,即要求扫描一文本文件,将出现频率最高的单词过滤。所以自己也写了个代码。本代码没有做“单词测试”,即没有测试是否一个字符串是一个单词。题目没有要求针对相同频率单词的处理情况,所以我没有针对这个做处理,有兴趣的朋友可以自立要求。 #include #include #include using namespace std;void clr_frc(string sr...
阅读(3478) 评论(1)
31条 共2页1 2 下一页 尾页
    个人资料
    • 访问:95245次
    • 积分:1295
    • 等级:
    • 排名:千里之外
    • 原创:29篇
    • 转载:2篇
    • 译文:0篇
    • 评论:30条
    最新评论