--%>

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 the term server-side XPointer

    Define the term server-side XPointer?

  • Q : Explain Exclusive-or operator

    Exclusive-or operator: An exclusive-or operator (^) is both a Boolean operator and the bit manipulation operator. The Boolean version provides the value true when only one of its operands is true; or else it offers the value false. Likewise, the bit m

  • Q : What is Filter stream Filter stream :

    Filter stream: It is an input-output class which filters or manipulates its stream of input- or output-data in some manner. Two illustrations are: DataInputStream and DataOutputStream.

  • Q : Define Method header Method header : It

    Method header: It is the header of a method, comprising of the method name, its outcome type, formal arguments and any exceptions thrown. Also termed as a method signature.

  • Q : Describe Method Method : The portion of

    Method: The portion of a class definition which implements some of the behavior of objects of the class. The body of the method includes declarations of local variables and statements to execute the behavior. The method receives input through its argu

  • Q : Explain the difference between a

    Explain the difference between a computer process and thread.

  • Q : Explain Package declaration Package

    Package declaration: It is a declaration employed to name a package. This should be the first item in the source file, preceding any import statements. For example,     pa

  • Q : Environment Modeling in Java Pathfinder

    Environment Modeling: In JPF, Java class files can be processed in two different ways: A) As ordinary Java classes managed and executed by the host JVM (e.g., standard Java library classes, JPF implementation class

  • Q : Features of WordPress Normal 0 false

    Normal 0 false false

  • Q : Examples of applications which can

    Give some examples of applications which can benefit from using XML?