--%>

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 Leverage Model-Based Design

    Leverage Model-Based Design: Model-based design provides useful hints of how a large system can be reduced so that its state space becomes searchable. If not inherently visible in the design (for example, by means of using a “State” design

  • Q : Define the term XQuery Define the term

    Define the term XQuery?

  • Q : OCIW32 dll error Normal 0 false false

    Normal 0 false false

  • Q : Explain Relative filename Relative

    Relative filename: It is a filename whose full path is associative to some point within a file system tree-frequently the present working folder (that is, directory). For example:   

  • Q : UK assignment & homework help Need UK

    Need UK Assignment Help, UK Homework Help. Get it now! HwA provides email based and live UK assignment help and UK homework help in a variety of subjects to the students based out

  • Q : Explain Return type Return type : It is

    Return type: It is the declared type of a method, appearing instantly before the method name, like void in     public static void main(String[] args)    or Point[] in 

  • Q : What is Big-endian Big-endian : This is

    Big-endian: This is a common difference among machines, the order in which they store individual bytes of multi-byte numerical data. Big-endian machine stores the higher-order bytes previous to the lower-order bytes.

  • Q : Define Byte Byte : In general

    Byte: In general computing, it refers to eight bits of data. In Java it is as well the name of one of the primitive data types, whose size is of eight bits.

  • Q : Define Number base Number base : The

    Number base: The base employed to interpret the numerical characters. Binary notation is base 2 and decimal notation is base 10, for illustration.

  • Q : State the terms preemption and context

    State the terms preemption and context switching.