JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。...
分类:
移动开发 时间:
2014-10-23 17:37:49
阅读次数:
233
调用约定是指程序在函数调用时传递参数和获取返回值所采用的方法:通过寄存器、或通过栈、或者是两者的混合。用于指定Calling Convention的修饰符主要有:__cdecl,__stdcall,__fastcall等。调用约定可以通过工程设置:Setting...\C/C++ \Advanced\CallingConvention 项进行选择,缺省状态为__cdecl。它们决定以下内容:
...
分类:
编程语言 时间:
2014-10-15 19:28:31
阅读次数:
252
预备知识:__stdcall是函数调用约定的一种,函数调用约定主要约束了两件事: 1.参数传递顺序 2.调用堆栈由谁(调用函数或被调用函数)清理 常见的函数调用约定:stdcall cdecl fastcall thiscall naked call__stdcall表示 1.参数从右向左压...
分类:
编程语言 时间:
2014-10-15 14:20:50
阅读次数:
190
1.什么是回调函数回调函数(callbackFunction),顾名思义,用于回调的函数。回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。回调函数包含下面几个特性:1、属于工作流的一个部分;2、必须按照工作流指...
分类:
编程语言 时间:
2014-10-09 14:09:43
阅读次数:
205
关于栈,我们并不陌生,从学习C语言其就接触了,数据结构中有学过,其提供的操作很简单,主要的操作就push和pop。一般来说在需要暂存数据的时候我们一般使用栈来临时存储数据,这也解开了学习C语言以来的另一个困惑:函数的调用约定,C语言中我们经常碰到的调用约定是__stdcall..
分类:
其他好文 时间:
2014-10-07 06:57:23
阅读次数:
347
procedure TForm2.Button1Click(Sender: TObject); function EnumWindowsProc(Ahwnd: hwnd; AlParam: lParam): Boolean; stdcall; begin ShowMessage('hwnd...
分类:
其他好文 时间:
2014-10-02 07:57:52
阅读次数:
418
别踩白块儿之禅模式 windows程序实现
代码如下
#include
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain( //程序入口,WINAPI是一种函数调用约定,用于表明如何生成在堆栈中放置调用参数的机器代码
HINSTANCE hInstance //实例句柄,标识该程序
, ...
在VC SDK的WinDef.h中,宏WINAPI被定义为__stdcall,这是C语言中一种调用约定,常用的还有__cdecl和__fastcall。这些调用约定会对我们的代码产生什么样的影响?让我们逐个分析。首先,在x86平台上,用VC编译这样一段代码: 1 int __cdecl TestC(...
DEBUG 错误现象提醒Run-TimeCheckFailure#0-ThevalueofESPwasnotproperlysavedacrossafunctioncall.Thisisusuallyaresultofcallingafunctiondeclaredwithonecallingcon...
分类:
编程语言 时间:
2014-09-11 18:53:32
阅读次数:
256
COM接口包括以下几部分:接口的标识 接口函数的调用约定、参数处理 接口与对象的关系 接口与C++的关系 COM接口所具有的特性 Interface Description Language(IDL), 接口描述语言提供了一种不依赖与任何语言的接口描述方法。 虚拟继承的概念: ...
分类:
其他好文 时间:
2014-08-30 16:22:19
阅读次数:
186