调用约定(Callingconvention)决定以下内容:函数参数的压栈顺序,由调用者还是被调用者把参数弹出栈,以及产生函数修饰名的方法。MFC支持以下调用约定:1._cdecl按从右至左的顺序压参数入栈,由调用者把参数弹出栈。对于“C”函数或者变量,修饰名是在函数名前加下划线。对于“..
分类:
其他好文 时间:
2017-05-16 23:26:22
阅读次数:
260
win32API 入口WinMain()内部机理 入口 WinMain() 前面戴两重“帽子”:一个"int"是指返回值; 一个WINAPI指“调用约定”。 后面有四个参数: HINSTANCE hInstance, 由操作系统生成的“当前实例句柄”。 HINSTANCE hPrevInstance ...
1. DLLs in Visual C++ 1.1 __declspec(llexport) and __declspec(dllimport) 首先,如题,这是VC的东西。*nix下不需要。 在VC中使用DLL的过程如下 1)新建一个Win32项目,右键项目→属性→常规,把配置属性改为dll,如图 ...
分类:
其他好文 时间:
2017-05-12 00:30:05
阅读次数:
324
http://blog.jobbole.com/103925/ 本文深入讨论了VC++编译器异常处理的实现机制。附件源代码包含了一个VC++的异常处理库。 下载源代码 – 19 Kb 介绍 相对于传统语言,C++ 的革命性特征之一,就是它对异常处理的支持。传统异常处理技术有缺陷并且易于出错,而 C+ ...
分类:
编程语言 时间:
2017-02-28 15:11:35
阅读次数:
569
世界太大,我无法安心学习,决定看一个简单的。 nginx-1.11.9的代码是nginx-0.5.38的两倍,决定看前者的。 阅读工具:UnderStand 3.1。 入口在nginx.c的195行。 第一点:ngx_cdecl 使用这个宏是为了跨平台支持,方便调整函数调用方式(__cdecl、__ ...
分类:
其他好文 时间:
2017-02-05 16:37:15
阅读次数:
144
知识点: ? cdecl 函数调用约定 ? stdcall 函数调用约定 ? CALL堆栈平衡 配置属性--> c/c++ -->高级-->调用约定 一、cdecl调用约定 VC++默认约定__cdecl 1、源代码 int __cdecl add1(int a,int b) { return a+... ...
分类:
其他好文 时间:
2017-02-04 19:48:07
阅读次数:
214
1 区别 VC++的C/C++函数有两种基本的调用约定:__stdcall、__cdecl。它们有什么区别呢?请参考下表: __stdcall__cdecl函数代码Cint __stdcall addS(int a,int b) { return a + b; }int __cdecl addC(i... ...
分类:
其他好文 时间:
2016-12-14 09:32:26
阅读次数:
261
在学习C++的过程中时常碰到WINAPI或者CALLBACK这样的调用约定,每每觉得十分迷惑。究竟这些东西有什么用?不用他们又会不会有问题?经过在网上的一番搜寻以及自己动手后,整理成以下的学习笔记。1.WINAPI与CALLBACK 其实这两者在Windows下是相同的,在windef.h中定义如下 ...
分类:
其他好文 时间:
2016-11-16 13:39:24
阅读次数:
201
__cdecl vc6.0:int __stdcall/__cdecl/__fastcall add(int x, int y){ return x+y;}void main(){ add(2,3);} 1.__stdcall: 1: int __stdcall add(int x, int y)2 ...
分类:
其他好文 时间:
2016-10-30 19:18:14
阅读次数:
176
一.基本概念 if you call me, i will call back 什么是回调函数 回调函数(callback Function),顾名思义,用于回调的函数。 回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分,由工作流来决定函数的调用(回 ...
分类:
其他好文 时间:
2016-08-21 19:47:44
阅读次数:
153