兔八哥极品软件园    运行: 4499天 | 文章:640 篇 | 评论:505 条 | 碎语:1条

CallingConvention Winapi Cdecl StdCall ThisCall FastCall

作者:admin 发布于:2012-8-10 15:28 Friday 分类:Windows

Winapi

此成员实际上不是调用约定,而是使用了默认平台调用约定。

例如,在 Windows 上默认为 StdCall,在 Windows CE.NET 上默认为 Cdecl

Cdecl

调用方清理堆栈。这使您能够调用具有 varargs 的函数(如 Printf),使之可用于接受可变数目的参数的方法。

StdCall

被调用方清理堆栈。这是使用平台 invoke 调用非托管函数的默认约定。

ThisCall

第一个参数是 this 指针,它存储在寄存器 ECX 中。其他参数被推送到堆栈上。此调用约定用于对从非托管 DLL 导出的类调用方法。

FastCall

不支持此调用约定。

阅读全文>>

标签: CallingConvention

评论(0) 引用(74) 浏览(31358)

再次收藏一个C++ MD5类下载,自测好用哦亲

作者:admin 发布于:2012-8-9 11:01 Thursday 分类:Windows

附件有完整代码

test.cpp

#include "md5.h"
#include <iostream>

using namespace std;

void PrintMD5(const string& str, MD5& md5) {
	cout << "MD5(\"" << str << "\") = " << md5.toString() << endl;
}

string FileDigest(const string& file) {

	ifstream in(file.c_str(), ios::binary);
	if (!in) {
		return "";
	}

	MD5 md5;
	std::streamsiz...

阅读全文>>

附件下载:
md5.rar 4.06KB

评论(0) 引用(19) 浏览(38223)

C++获取文本文件字节数

作者:admin 发布于:2012-8-9 10:47 Thursday 分类:Windows

1 调用ifstream打开一个文件

2 调用seekg将get pointer置为文件末尾,seekg(0, ios_base::end)

3 调用tellg获取总字节数,实际上获取的是get pointer相对于文件头的偏移字节数

4 重置get pointer,使其指向文件头,以便执行其他操作

对于ifstream对象的每一次read过后,可以调用ifstream::gcount获取读取的字节数,

gcount的返回值为streamsize,而streamsize是个整型,signed int或signed long

 

#include <iostream>
#include <fstream>
using namespace std;

int main () {
  int length;
  char * buffer;

  ifstre...

阅读全文>>

评论(0) 引用(15) 浏览(33375)

C++ 获取当前进Pid

作者:admin 发布于:2012-8-9 10:06 Thursday 分类:Windows

第一种方法:

DWORD WINAPI GetCurrentProcessId(void);


第二种方法:
#ifdef _WIN32

#include <process.h>

#else

#include <unistd.h>

#endif

int main()

{

    int iPid = (int)getpid();

    std::cout<<"The process id is: "<<iPid<<std::endl;

    return 0;

}

阅读全文>>

标签: GetCurrentProcessId

评论(0) 引用(100) 浏览(33849)

IDC_HAND 未声明的标识符

作者:admin 发布于:2012-8-3 17:00 Friday 分类:Windows

问题:error C2065: "IDC_HAND" : undeclared identifier
解决:查看IDC_HAND的定义

#if(WINVER >= 0x0500)
#define IDC_HAND MAKEINTRESOURCE(32649)
#endif

可在stdafx.h中加入如下代码:
#ifndef WINVER // 允许使用 Windows 95 和 Windows NT 4 或更高版本的特定功能。
#define WINVER 0x0500 //为 Windows98 和 Windows 2000 及更新版本改变为适当的值。
#endif

阅读全文>>

标签: IDC_HAND

评论(0) 引用(12) 浏览(22703)


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap