1. 自己定义的函数或者变量只给出了声明,并没有定义。2. 项目配置没有设定为win标准库或者MFC动态,而是设定为MFC静态库。因此有很多API没有加载定义,只是在默认相关头文件中有声明。所以只要搜索对应函数所在库,并加载到文件里边就可以静态编译了。要查找一个LINK错误,一般到MSDN去搜索相关函数或者变量,MSDN会提供相关的库说明。比如:使用到RegOpenKeyEx函数打开读取注册表,就要用到advapi32.lib库才能静态编译过。#pragma comment(lib,"Advapi32.lib")RegOpenKeyEx(HKEY_LOCAL_MACHINE Read More
posted @ 2012-08-17 14:14 upendi Views(289) Comments(0) Diggs(0) Edit
这两天学习了一下,在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 Read More
posted @ 2012-08-14 14:45 upendi Views(3033) Comments(0) Diggs(0) Edit
error LNK2001: 无法解析的外部符号 解释大全 Read More
posted @ 2012-08-13 13:00 upendi Views(2452) Comments(0) Diggs(0) Edit
#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 Read More
posted @ 2012-08-10 14:33 upendi Views(2467) Comments(0) Diggs(0) Edit
// 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 Read More
posted @ 2012-08-10 14:20 upendi Views(857) Comments(0) Diggs(0) Edit
1. 回调函数的定义和回调指针的定义的参数应完全相同。 2. 回调函数的定义和回调指针的定义的返回值要完全相同,并包类型声明。如:__stdcall要同有同无 3. 回调函数定义为类成员函数时,类中声明要为static Read More
posted @ 2012-08-10 14:10 upendi Views(286) Comments(0) Diggs(0) Edit
#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... Read More
posted @ 2012-08-07 10:08 upendi Views(335) Comments(0) Diggs(0) Edit
建立一个不能打开的文件。当你看懂这段代码,就是一次质的改变。源自 windows 核心编程 扩展...#include <windows.h>void RaiseToDebugP(){/* GetCurrentProcessID 得到当前进程的ID OpenProcessToken 得到进程的令牌句柄 LookupPrivilegeValue 查询进程的权限 AdjustTokenPrivileges 调整令牌权限*/ HANDLE hToken; HANDLE hProcess = GetCurrentProcess(); if ( OpenPro... Read More
posted @ 2012-08-06 17:33 upendi Views(339) Comments(0) Diggs(0) Edit
版本控制比较普遍的 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 Read More
posted @ 2012-08-03 10:02 upendi Views(178) Comments(0) Diggs(0) Edit
【源码 测试】#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"," Read More
posted @ 2012-08-01 15:40 upendi Views(600) Comments(0) Diggs(0) Edit