9
stdcall และ cdecl
มี (อื่น) ทั้งสองประเภทของการประชุมเรียกร้องให้มี - stdcallและcdecl ฉันมีคำถามสองสามข้อเกี่ยวกับพวกเขา: เมื่อเรียกใช้ฟังก์ชัน cdecl ผู้เรียกจะรู้ได้อย่างไรว่าควรเพิ่มสแต็กหรือไม่ ที่ไซต์การโทรผู้โทรทราบหรือไม่ว่าฟังก์ชันที่เรียกนั้นเป็นฟังก์ชัน cdecl หรือ stdcall มันทำงานอย่างไร? ผู้โทรจะรู้ได้อย่างไรว่าควรเพิ่มสแต็กหรือไม่? หรือเป็นความรับผิดชอบของผู้เชื่อมโยง? หากฟังก์ชันที่ประกาศเป็น stdcall เรียกใช้ฟังก์ชัน (ซึ่งมีหลักการเรียกเป็น cdecl) หรือในทางกลับกันสิ่งนี้จะไม่เหมาะสมหรือไม่? โดยทั่วไปเราสามารถพูดได้ว่าการโทรใดจะเร็วกว่า - cdecl หรือ stdcall?