--%>

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 : What is Random Access Memory Random

    Random Access Memory: Random access memory, or RAM, is the memory whose contents are simply accessible to the processing components of a computer. In specific, the time it takes to read and write to a particular portion of the memory does not based on

  • Q : What is Native Mode Native Mode :

    Native Mode: Whenever all the domain controllers in a specified domain are executing Windows 2000 Server. This mode permits organizations to take benefit of new Active Directory features like Universal groups, nested group membership, and the inter-do

  • Q : Define the term Toggle Define the term

    Define the term Toggle: To alternate among two values, like true and false, on and off, or 1 & 0.

  • Q : Command to recognize type of file

    Specify the command which is used to recognize the type of file?

  • Q : Define Arithmetic operator Arithmetic

    Arithmetic operator: The Operators, like +, -, *, / and %, which generate a numerical outcome, as a part of an arithmetic expression.

  • 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 the segmentation with paging

    Explain the segmentation with paging.

  • Q : Reference variables Reference variable

    Q : Define Unconditional Jumps

    Unconditional Jumps: Jumps which are not strictly upwards in the block hierarchy can require extensive control-flow manipulation, including creation of redundant code, and should be avoided if possible. Such jumps add considerable modeling overhead fo

  • Q : Explain the term accessibility testing

    Explain the term accessibility testing.