--%>

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 Application Application : It is

    Application: It is frequently used, simply as a synonym for the program. Though, in Java, the word is particularly employed of programs with a Graphical User Interface (GUI) which are not applets.

  • Q : What is an Infinite recursion Infinite

    Infinite recursion: Recursion which does not finish. This can effect from any of direct recursion, indirect recursion or the mutual recursion. It is generally the outcome of a logical error, and can consequence in stack overflow.

  • Q : Virtual memory used in Windows

    Explain why the virtual memory is to be used in Windows architecture?

  • Q : Define the term Blank final variable

    Blank final variable: A final variable which is not initialized as portion of its declaration. This variable should be initialized in either an instance initialization block or every of the constructors for its class before it is employed. A static bl

  • Q : Situations where AJAX must not be used

    Explain the situations in which the AJAX must not be used.

  • Q : What is Hostname What is Hostname : It

    What is Hostname: It is the name of a host system.

  • Q : How Java client access Corba A Corba

    A Corba remote object exists. How could you get a Java client to access this object?

  • Q : Define Little-endian Little-endian : It

    Little-endian: It is a common difference among machines is the order in which they store up the individual bytes of multi-byte numerical data. The little-endian machine stores the lower-order bytes prior to the higher-order bytes.

  • Q : What is Stack overflow Stack overflow :

    Stack overflow: Stack overflow takes place whenever too many items are pushed onto a stack with a finite or limited capacity.

  • Q : What is Round robin allocation Round

    Round robin allocation: It is an allocation of time slices which repeatedly cycles regarding a set of eligible threads in the fixed order.