--%>

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 : Define Case sensitive Case sensitive :

    Case sensitive: The test which is sensitive to whether a character is in upper-case (example, 'A') or lower-case (example, 'a').

  • Q : Explain the meaning of semantic

    Explain the meaning of semantic connotations.

  • Q : Explain the difference between a

    Explain the difference between a computer process and thread.

  • Q : Define White space White space :

    White space: Characters employed to make visual spacing in a program. White spaces comprise space, tab, carriage return and the line feed characters.

  • Q : Define Fully evaluating operator Fully

    Fully evaluating operator: An operator which computes all of its arguments to generate an outcome. Standard arithmetic operators, like +, are totally evaluating. In contrary, some Boolean operators, like &&, are short-circuit operators.

  • Q : Problem on Planar scintigraphy Let

    Let assume seven PMTs situated around the origin of the x-y coordinates on the face of the Anger camera as illustrated in the figure. The size of the PMTs is 2mm by 2 mm and each PMT has been allocated a number. The single scintillation event yields a response from PM

  • Q : Define the term Mutual recursion Define

    Define the term Mutual recursion: Recursion which outcomes from two methods calling one other recursively.

  • Q : Swapping system What action of the

    What action of the swapping system does in case it identifies the illegal page for the swapping?

  • Q : What is Process Process : It is an

    Process: It is an individual thread-of-control to which an execution time slice is assigned by the operating system.

  • Q : Explain LURCH LURCH (Menzies et al.

    LURCH (Menzies et al. 2004) uses random search to explore a state machine’s state space. Because the search is random, it gives no guarantee that the state space has been exhaustively explored, so LURCH cannot be used for verification. However,