
【计】 calling convention
transfer
【计】 C; call; calls; invoke
appoint; arrange; engage; plight; promise
【计】 convention
调用约定(Calling Convention)是编程中定义函数调用时参数传递、堆栈管理和寄存器使用规则的技术标准,英文术语为"Calling Convention"。它确保不同模块或编译器生成的目标代码能够正确交互,核心作用包括参数顺序控制、堆栈平衡维护和寄存器资源分配。
从汉英对照角度,调用约定的关键要素可拆解为:
典型调用约定类型包括:
该术语在系统编程中具有重要实践价值,开发混合语言程序或逆向工程时需严格遵循目标平台的调用约定规范。权威参考资料建议参阅《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs)第4章关于过程抽象的论述,或查阅 LLVM 编译器官方文档中的调用约定实现细节。
调用约定(Calling Convention)是编程中定义函数调用时参数传递、栈管理、返回值处理等规则的协议,确保不同代码模块或编译器生成的代码能正确交互。以下是核心要点:
调用约定主要规定以下内容:
__cdecl
)或被调用函数(如__stdcall
)清理栈内存。__fastcall
)。__cdecl
printf
)。__stdcall
__fastcall
**
__cdecl
需调用者清理栈,可能生成更大代码。__stdcall
,而Linux默认遵循__cdecl
。// __cdecl 示例(调用者清理栈)
int __cdecl add(int a, int b) { return a + b; }
// __stdcall 示例(被调用者清理栈)
int __stdcall sub(int a, int b) { return a - b; }
通过合理选择调用约定,可优化程序性能、内存使用及跨模块协作效率。实际开发中需结合编译器选项和库要求进行配置。
艾菊油暗适应试验补充条款初步编制人数碘醇多根的番木鳖叶硷反向输入反应促进剂化工单元操作互补正反器价如坚果鸡蛋花素结扎丝线可积性科学处理连续混砂机路德维希氏角冒口颈命令模态磨面伤脲清除率偏侧面的氢气冷却塔气容积乳醚三戊氧基硼十四酸酐睡着的调谐阳极耦合