您现在的位置是:首页 > 正文

C++ PASCAL关键字(转)

2024-04-01 06:58:49阅读 1
VC里面:PASCAL==CALLBACK==WINAPI==__stdcall
        _stdcall是Pascal程序的缺省调用方式,通常用于Win32  Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。
    _cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小会比调用_stdcall函数的大。函数采用从右到左的压栈方式。VC将函数编译后会在函数名前面加上下划线前缀。是MFC缺省调用约定。 

        关于PASCAL,其实你只要弄明白一点就行了:声明为这种调用约定的函数都是由它本身来清栈,而__cdecl的函数都是由调用者来清栈。 
   
  实际用的时候,个人觉得两者最大的差别在于:__cdecl的函数参数个数可以声明为不确定,比如printf,scanf之类,而PASCAL的函数是不可以这样做的,如果这样的话它不知道实参有多少个。

转载于:https://www.cnblogs.com/shelvenn/archive/2008/01/21/1047666.html

网站文章

  • Spring Boot 发送邮件全解析

    Spring Boot 发送邮件全解析

    1.前言 今天我们就来学一下如何在Spring Boot下发送电子邮件。 2. 依赖 Java 发送邮件依赖jakarta项目(原javaEE)提供的jakarta.mail组件,Maven坐标: com.sun.mail jakarta.mail ...

    2024-04-01 06:58:42
  • STM32CubeIDE中文

    STM32CubeIDE中文

    【Windows】——【Preferences】——【General】——【Appearance】——【Colors and Fonts】——【Edit】——【把“西欧字符”改成“中欧字符”】如果你在...

    2024-04-01 06:58:00
  • 基于SpringBoot+MyBatis实现的个人博客系统(一)

    基于SpringBoot+MyBatis实现的个人博客系统(一)

    基于SpringBoot+MyBatis实现的个人博客系统(一)

    2024-04-01 06:57:54
  • 【vue2】解决Vuex刷新页面数据丢失的问题

    【vue2】解决Vuex刷新页面数据丢失的问题

    解决Vuex刷新页面数据丢失的问题

    2024-04-01 06:57:50
  • 新东方高中计算机模拟试卷,同等学力计算机综合模拟试题(2)

    1. 比较下列集合的基数大小并给出证明:A×A,P(A),2→A,A→2.解答与评分标准:|A×A| = |2→A| = |A|2(2 分),|P(A)| = |A→2| = 2|A|(2 分)。分情况讨论:(1) A 为空集:注意A→2={空关系},|A×A| = |2→A| = 0 < |P(A)| = |A→2| = 1。(1 分)(2) A 为有限集且|A|=1:|A×A| = |2...

    2024-04-01 06:57:40
  • Ubuntu下安装pycharm并激活

    Ubuntu下安装pycharm并激活

    1.在官网下载:2.提取到此处3.在含有pycharm.sh的文件夹下,右键,选择在此处打开终端输入./pycharm.sh执行安装好后,看到如下界面:学生可以选择用学生邮箱激活激活方式如下:1)按 buy pycharm 按钮,选择special offers(或进入网址https://www.jetbrains.com/pycharm/buy/?fr...

    2024-04-01 06:56:57
  • 写一程序,用scanf函数输入x,输出y值。

    写一程序,用scanf函数输入x,输出y值。

    有一函数: y=x²+2x-6  (x<0,x≠-3) y=x²-5x+6  (0≤x<10,x≠2,x≠3) y=x²-x-15  (x=-3,x=2,x=3,x≧10) 解题思路:先用scanf函...

    2024-04-01 06:56:51
  • 自己挖坑自己跳 之JsonMappingException: (was java.lang.NullPointerException) (through reference chain:)...

      在Web项目中,我们经常会设计一些与界面相对应的JavaBean作为Entity,而为了兼容前台传入的空值,有些字段我们会用包装类型而不是基本类型。可是往往我的Entity已经设计完成,很多时候我...

    2024-04-01 06:56:43
  • Black Hat Europe 2021议题解读:Wi-Fi Mesh中的安全攻击面

    Black Hat Europe 2021议题解读:Wi-Fi Mesh中的安全攻击面

    近年来,随着万物互联技术的发展,Mesh技术逐渐兴起,Mesh技术是一种组网技术,可将多个接入点组成同一个网络来提供服务,相比于传统的WiFi组网技术,Mesh组网更稳定,更快,扩展性更强...

    2024-04-01 06:56:02
  • JAVA大数类 BigInteger和BigDecimal用法

    BigInteger四则运算 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { BigInteger num1, num2; Scanner in = new Scanner(S

    2024-04-01 06:55:55