--%>

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 Undeniable Signature Scheme

    Define Undeniable Signature Scheme?

  • 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 : State Non-modal Non-modal : In this a

    Non-modal: In this a dialog is non-modal when its parent application is not blocked from additional activity whereas the dialog is being revealed.

  • Q : Define Daemon thread Daemon thread :

    Daemon thread: The daemon threads are non-user threads. They are usually employed to carry out low-priority tasks which must not take priority over the major task of the program. They can be employed to do helpful work whenever all other user threads

  • Q : State Finalization Finalization :

    Finalization: Instantly before an object is garbage collected, its finalize method is called. This offers it the opportunity to free any resources it may be holding on to.

  • Q : Choices in the Choice Activity Normal 0

    Normal 0 false false

  • Q : Explain Right shift operator Right

    Right shift operator: Right shift operator (>>) is the bit manipulation operator. It shifts the bits in its left operand zero (0) or many places to the right, according to the value of its accurate operand. The most important bit from before the

  • Q : Types of validation controls of ASP.NET

    List the types of validation controls that are available in the ASP.NET AJAX 4.0?

  • Q : Define Abstract class Abstract class :

    Abstract class: It is a class with the abstract reserved word in its header. The Abstract classes are differentiated by the fact that you might not directly construct objects from them employing the new operator. The abstract class might have zero (0)

  • Q : Write a recursive implementation of

    Assignment 5 Selecting Array Elements Implement the following C++ code in assembly language, using the block-structured .IF and .WHILE directives. Assume that all variables are 32-bit signed integers: int array[] = {10,60,20,33,72,89,45,65,72,18}; int sample = 50; intArraySize = s