--%>

Use of setjmp and longjmp

Use of setjmp() and longjmp(): In C/C++, setjmp() saves the contents of the registers at a particular state in the program and longjmp() will restore that state later. In this way, longjmp() “returns” to the state of the program when setjmp() was called.

In general these functions are problematic for C++ because they do not support C++ object semantics. In particular, they do not ensure the proper destructor calls and so objects may not be cleaned up properly, leaving the system in a bad state.

Using these functions may also degrade performance by preventing optimization on local variables. For C++ exception handling, try/catch constructs are recommended instead.

214_serjmp.jpg

For model checking in particular, non-hierarchical long jumps are difficult to model with modeling languages like Java. These functions need to do register restoration which requires modeling of registers and their related operations, adding considerable overhead to model-checking effort.

   Related Questions in Programming Languages

  • Q : State the terms preemption and context

    State the terms preemption and context switching.

  • Q : Basic Units of CSS Specify the Basic

    Specify the Basic Units of the CSS.

  • Q : What is Bounded repetition Bounded

    Bounded repetition: The Repetition where statements within a loop's body are executed a fixed number of times and the number of times is established whenever the loop began. There is no control structure in Java which guarantees the bounded repetition

  • Q : Explain One Dimensional array One

    One Dimensional array:1) An array is a continuous memory location having similar kind of data in a single row or single column. Declaration in c++ is as under: const int size = 20;int a[size] or int a[2

  • Q : Homework Assignment How much would it

    How much would it cost to do a basic program within the given requirements?

  • Q : Define the term Key value Define the

    Define the term Key value: The object employed to produce an associated hash code for look-up in an associative data structure.

  • Q : Types of rings in CPU Name the

    Name the different kinds of rings presented in CPU?

  • Q : What is an Overriding for breadth

    Overriding for breadth: It is a form of method overriding in which the sub-class version of a technique implements its own behavior within the context of attributes and behavior of the sub-class and then calls the super-class version and hence it can

  • Q : Define Continue statement Continue

    Continue statement: A statement which might only be employed within the body of a loop. In case of a while loop or do loop, control passes instantly to the loop's terminating test. In case of a for loop, the control passes to the post-body update expr

  • Q : Explain the relationship between XHTML

    Explain the relationship between XHTML and URL?