C ทำงานห้องสมุด - longjmp ()
C ห้องสมุดมาตรฐาน - <setjmp.h>
ลักษณะ
ห้องสมุด Cฟังก์ชั่นเป็นโมฆะ longjmp (สภาพแวดล้อม jmp_buf ค่า int ) การคืนค่าโทรที่ผ่านมาเพื่อ setjmp ()แมโครเพื่อรักษาสิ่งแวดล้อมโดยการตั้งค่าพารามิเตอร์jmp_bufก่อนที่จะเรียก setjmp () สร้าง
คำแถลง
นี่คือ longjmp () ฟังก์ชั่นการประกาศของ
void longjmp(jmp_buf environment, int value)
พารามิเตอร์
- สภาพแวดล้อม - นี้เป็นชนิดของวัตถุ jmp_bufที่มีข้อมูลเกี่ยวกับสภาพแวดล้อมเมื่อคุณเรียกเก็บ setjmp
- คุ้มค่า - นี่คือการแสดงออก setjmpในการกำหนดมูลค่า
ราคาย้อนกลับ
ฟังก์ชั่นนี้ไม่ได้ส่งกลับค่า
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้งานของ longjmp () ฟังก์ชั่น
#include <stdio.h> #include <stdlib.h> #include <setjmp.h> int main() { int val; jmp_buf env_buffer; /* 保存 longjmp 的调用环境 */ val = setjmp( env_buffer ); if( val != 0 ) { printf("从 longjmp() 返回值 = %s\n", val); exit(0); } printf("跳转函数调用\n"); jmpfunction( env_buffer ); return(0); } void jmpfunction(jmp_buf env_buf) { longjmp(env_buf, "w3cschool.cc"); }
Let 's รวบรวมและเรียกใช้โปรแกรมข้างต้นซึ่งจะส่งผลต่อไปนี้:
跳转函数调用 从 longjmp() 返回值 = w3cschool.cc