08 2012 档案

摘要:这实在是一篇少走许多学习弯路的好文章1.先看综述,后看论著。看综述搞清概念,看论著掌握方法。2.早动手在师兄师姐离开之前学会关键技术。3.多数文章看摘要,少数文章看全文。掌握了一点查全文的技巧,往往会以搞到全文为乐,以至于没有时间看文章的内容,更不屑于看摘要。真正有用的全文并不多,过分追求全文是浪费,不可走极端。当然只看摘要也是不对的。4.集中时间看文献。看过总会遗忘。看文献的时间越分散,浪费时间越多。集中时间看更容易联系起来,形成整体印象。5.做好记录和标记。复印或打印的文献,直接用笔标记或批注。pdf或html格式的文献,可以用编辑器标亮或改变文字颜色。这是避免时间浪费的又一重要手段。否则 阅读全文
posted @ 2012-08-25 17:23 upendi 阅读(174) 评论(0) 推荐(0)
摘要:1. 自己定义的函数或者变量只给出了声明,并没有定义。2. 项目配置没有设定为win标准库或者MFC动态,而是设定为MFC静态库。因此有很多API没有加载定义,只是在默认相关头文件中有声明。所以只要搜索对应函数所在库,并加载到文件里边就可以静态编译了。要查找一个LINK错误,一般到MSDN去搜索相关函数或者变量,MSDN会提供相关的库说明。比如:使用到RegOpenKeyEx函数打开读取注册表,就要用到advapi32.lib库才能静态编译过。#pragma comment(lib,"Advapi32.lib")RegOpenKeyEx(HKEY_LOCAL_MACHINE 阅读全文
posted @ 2012-08-17 14:14 upendi 阅读(356) 评论(0) 推荐(0)
摘要:这两天学习了一下,在VC++6.0中如何使用SQLite3,从网上下载的一般都是SQLite3.dll和SQLite3.def文件,而在VC++6.0下还需要使用.lib文件。 所以,我们首先需要自己生成.lib文件。有可能还需要下载mspdb60.dll。生成的方法是:第一步:找到LIB.EXE所在目录一般都在C:\\Program Files\\Microsoft Visual Studio\\VC98\\Bin下(如果VC是装在C盘的话),在“运行”中输入cmd,然后切换到该目录下第二步:使用LIB命令生成.lib文件很多网页上都介绍,使用LIB /DEF:sqlite3.def /ma 阅读全文
posted @ 2012-08-14 14:45 upendi 阅读(3111) 评论(0) 推荐(0)
摘要:error LNK2001: 无法解析的外部符号 解释大全 阅读全文
posted @ 2012-08-13 13:00 upendi 阅读(2729) 评论(0) 推荐(0)
摘要:#include <string> #include <iostream> #include <fstream> #include <windows.h> #include <wininet.h> #include <winsock.h> #include <stdio.h> #include <stdarg.h> #pragma comment(lib,"wininet.lib") using namespace std; int main() { HINTERNET hOpe 阅读全文
posted @ 2012-08-10 14:33 upendi 阅读(2526) 评论(0) 推荐(0)
摘要:// createprocess_.cpp : 定义控制台应用程序的入口点。//#include <Windows.h>#include <stdio.h>#include <stdlib.h>#include <tchar.h>#include <conio.h>#include <windows.h>#include <MMSystem.h>int main(int argc, char* argv[]){//Main_t: char commanline[40]; char Inch; char cnt 阅读全文
posted @ 2012-08-10 14:20 upendi 阅读(880) 评论(0) 推荐(0)
摘要:1. 回调函数的定义和回调指针的定义的参数应完全相同。 2. 回调函数的定义和回调指针的定义的返回值要完全相同,并包类型声明。如:__stdcall要同有同无 3. 回调函数定义为类成员函数时,类中声明要为static 阅读全文
posted @ 2012-08-10 14:10 upendi 阅读(325) 评论(0) 推荐(0)
摘要:#include <stdio.h>#include <windows.h>#include <tlhelp32.h>void main(void){ PROCESSENTRY32 pe32; pe32.dwSize = sizeof(pe32); HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if(hProcessSnap == INVALID_HANDLE_VALUE) { printf("Create... 阅读全文
posted @ 2012-08-07 10:08 upendi 阅读(352) 评论(0) 推荐(0)
摘要:建立一个不能打开的文件。当你看懂这段代码,就是一次质的改变。源自 windows 核心编程 扩展...#include <windows.h>void RaiseToDebugP(){/* GetCurrentProcessID 得到当前进程的ID OpenProcessToken 得到进程的令牌句柄 LookupPrivilegeValue 查询进程的权限 AdjustTokenPrivileges 调整令牌权限*/ HANDLE hToken; HANDLE hProcess = GetCurrentProcess(); if ( OpenPro... 阅读全文
posted @ 2012-08-06 17:33 upendi 阅读(362) 评论(0) 推荐(0)
摘要:版本控制比较普遍的 3 种命名格式 :一、GNU 风格的版本号命名格式 :主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]英文对照 : Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]示例 : 1.2.1, 2.0, 5.0.0 build-13124二、Windows 风格的版本号命名格式 :主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]]英文对照 : Major_Version_Number.Minor_Version_Number[Revision_Numbe 阅读全文
posted @ 2012-08-03 10:02 upendi 阅读(197) 评论(0) 推荐(0)
摘要:【源码 测试】#include <sys/time.h>#include <stdio.h>#include <mysql.h>int main(void){ MYSQL_RES *result; MYSQL_ROW row; MYSQL *connection, mysql; int state; mysql_init(&mysql); connection = mysql_real_connect(&mysql,"localhost","root","951241"," 阅读全文
posted @ 2012-08-01 15:40 upendi 阅读(613) 评论(0) 推荐(0)