C++ 函数"size_t PASCAL"
c++ function "size_t PASCAL"
我在看一些代码,这种类型的函数意味着什么?
size_t PASCAL OnNewSendto( some param , some param )
size_t PASCAL OnNewSendto(...)
size_t
是返回值类型PASCAL
是一个表示调用约定的宏。宏具体扩展到什么位置取决于您的平台以及包含的标头。很可能它会扩展到零,或者扩展到__stdcall
OnNewSendto
是函数名称
如今,帕斯卡尔呼叫大会已成为历史遗迹。它不存在于现代平台上,是16位时代的遗留问题。你必须显示更多的上下文,让我们知道宏扩展到什么。当然,你可以通过预处理器轻松地运行代码来找到答案。
在我的系统上,给定这个输入,
#include <Windows.h>
int PASCAL foo();
预处理器发出:
int foo();
因此,至少对于这个系统来说,PASCAL
扩展为零。
但如果你在一个不同的平台上编译,比如说一个古老的16位平台,那么你可能会期待一个不一样的扩展。
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 大于65535的C++数组[size]引发不一致的溢出
- 为什么(-1)%vector::size()总是返回0
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 为什么这个 std::queue/指向结构的指针列表直到 List.Size() == 0 才释放内存?
- 在函数中使用 const int size 参数创建数组会在 Visual Studio 中抛出错误 C++:表达式的计
- C++读取用户输入而不按回车键(Mac OS X),与Turbo Pascal中的读取键相同
- vector.size() 在比较中意外工作
- vector.back() 和 vector[vector.size() - 1] 之间的区别?
- 返回 str vs. str.substr(0,str.size()) 在 leetcode 中给了我不同的输出
- 为什么 GCC 不能假设 std::vector::size 在这个循环中不会改变?
- 为什么"(!v.empty())"比"(v.size() >0)"好?
- 迭代器库中的 std::size() 不适用于传递给函数的 C 样式数组
- std::string.size() 未知行为
- 为什么gmp会在这里与"invalid next size"重新定位一起崩溃?
- C 回调函数在对象 pascal 上崩溃
- 为什么我会"Invalid read of size 8"?(瓦尔格林德)
- 从 std::string 到 std::array<char,size> 的 memcopy 额外数据是否是一种未定义的行为?
- 使用 std::size 来自非 const 上下文