--%>

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 : Explain the term hard real-time Explain

    Explain the term hard real-time.

  • Q : How Does Run time data handled into QTP

    How Does Run time data i.e. Parameterization is handled within QTP?

  • Q : Explain Singleton pattern Singleton

    Singleton pattern: It is a pattern which permits us to make sure that only a single instance of a specific class exists at any one time. Such an instance is termed as singleton. The pattern can as well be employed whenever instances would have no excl

  • Q : Explain a way to install JAVA S60 device

    What should I do when installation fails whilst trying to install a Java™ Verified application to a certain S60 device?

  • Q : Define Deep copy Deep copy : It is a

    Deep copy: It is a copy of an object in which copies of all the object's sub-components are also prepared. The resultant object may, in effect, be a clone of the novel.

  • Q : Explain Edit-compile-run cycle

    Edit-compile-run cycle: A common portion of the program development procedure. The source file is made initially and compiled. The syntax errors should be corrected in the editor before compiling it again. Once the program has been productively compil

  • Q : Explain Increment operator Increment

    Increment operator: The operator (++) which adds one to its operand. It consists of two forms: pre-increment (++x) and post-increment (x++). In its pre-increment form, the outcome of the expression is the value of its argument subsequent to the increm

  • Q : What is an Interrupt Interrupt : This

    Interrupt: This is an asynchronous message sent to a process or thread which interrupts what it is at present doing. This generally outcomes in an InterruptedException object being received by an interrupted thread. Waiting for an int

  • Q : Long lock in the tibco iProcess

    Describe the term Long lock in the tibco iProcess in brief.

  • Q : Are you sure that XHTML element name

    Are you sure that XHTML element name case sensitive? Answer: XHTML element names surely are case sensitive. Every element names should be written within lower case l