• 主页
  • Windows SDK/API
  • 基础类
  • ActiveX
  • 数据库及相关技术
  • 网络及通讯开发
  • VCL组件使用和开发

C++ builder中有没有与VC中的__LOCAL_SIZE相对应的预定义变量。

zhc 2002-08-20 11:42:24
__LOCAL_SIZE在VC中有编译器定义,其含义如下:

The compiler provides a symbol, __LOCAL_SIZE, for use in the inline assembler block of function prolog code. This symbol is used to allocate space for local variables on the stack frame in your custom prolog code.

The compiler determines the value of __LOCAL_SIZE. Its value is the total number of bytes of all user-defined locals as well as compiler-generated temporary variables. __LOCAL_SIZE can be used as an immediate operand; it cannot be used in an expression. You must not change or redefine the value of this symbol. For example:

mov eax, __LOCAL_SIZE ;Immediate operand
mov eax, [ebp - __LOCAL_SIZE] ;Expression

The following is a example of a naked function containing custom prolog and epilog sequences using the __LOCAL_SIZE symbol in the prolog sequence:

__declspec ( naked ) func()
{
int i;
int j;

_asm /* prolog */
{
push ebp
mov ebp, esp
sub esp, __LOCAL_SIZE
}

/* Function body */

__asm /* epilog */
{
mov esp, ebp
pop ebp
ret
}
}

...全文
64 点赞 收藏 4
写回复
4 条回复
RedProgramer 2002年08月20日
这个变量好象没有
回复 点赞
zhc 2002年08月20日
这个不是宏,而是在编译时,有编译器预定义的值。
回复 点赞
glyc 2002年08月20日
你在头文件中搜索这个宏的定义,复制到你的程序中就可以了.
回复 点赞
zhc 2002年08月20日
如何获得该值,我需要该写一个VC代码,使它在BC中编译。
回复 点赞
发动态
发帖子
C++ Builder
创建于2007-08-02

2562

社区成员

10.2w+

社区内容

C++ Builder相关内容讨论区
社区公告
暂无公告