--%>

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 : Explain Untyped Allocations Untyped

    Untyped Allocations: In C/C++ untyped allocations such as malloc, calloc, and realloc can easily be used to create overlays, which again require translation overhead to keep the corresponding non-overlaid objects consistent.

    Q : Explain way to communicate server with

    Explain the way to communicate server with more than one client.

  • Q : Define owns to the Kernel Object Define

    Define owns to the Kernel Object? Answer: Kernel objects are owned through the kernel, not through a process.

  • Q : What is Boolean expression Boolean

    Boolean expression: It is an expression whose outcome is of type Boolean, that is, gives a value of either true or false. The operators like && and || take Boolean operands and generate a Boolean outcome. The relational operators obtain operan

  • Q : Search and Partial Coverage of Java

    Search and Partial Coverage: JPF supports well-known search strategies such as BFS and DFS as well as various heuristic-based searches such as A*, Best-First, and Beam Search. You can sum a number of heuristics during the search, and set search depth

  • Q : Define the term Inheritance Inheritance

    Inheritance: It is a feature of object-oriented programming languages in which a sub-type inherits methods and variables from its super-type. The Inheritance is most generally employed as a synonym for class inheritance {class!inheritance}, however in

  • Q : Libraries involved in Windows

    Explain the important libraries involved in Windows programming?

  • Q : What are the valid and invalid XHTML

    What are the valid and invalid XHTML element names?

  • Q : Describe tri-state devices Describe the

    Describe the tri-state devices and explain why they are necessary in a bus oriented system?

  • Q : Define the term Swizzling Define the

    Define the term Swizzling: It is the process of recursively writing the contents of an object through object serialization.