--%>

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 : Scripting Language Programming

    Hi Assignment Team, Please find attachment of my assignment. Please advise if there is any unclear information Regards, King

  • Q : Explai phases of software development

    Define the difference between phases of software development or software life cycle?

  • Q : Explain the role XSL that dynamically

    Explain the role which XSL can play while dynamically generating HTML pages by a relational database?

  • Q : Define the term Module Module : It is a

    Module: It is a group of program components, usually with restricted visibility to program components in other modules. Java employs packages to implement this perception.

  • Q : What is an Implicit type conversion

    Implicit type conversion: The type conversion which does not need a cast. Implicit type conversions usually do not comprise any loss of information. For example, joining an integer operand with a floating point operand in an arithmetic expression will

  • Q : How much does Symbian Signed

    How much does Symbian Signed certification and testing cost? Answer: Test houses contain their own prices for Symbian Signed testing. So you can check that prices through searching over the internet.

  • Q : State the term XLL State the term XLL?

    State the term XLL? Answer: The specification of XML Link Language has XPointer or XLink.

  • Q : Passing by address or reference Passing

    Passing by address or reference: In this technique no separate memory build for formal variables that is, formal variables share similar location of actual variables and therefore any change on formal variables automatically reflected back to real var

  • Q : Explain the term Portable Portable :

    Portable: The Portability is the quality of a program which makes it probable to run it on different kinds of computers. The programs written in low level languages are usually not very portable since they are generally closely tied to a particular in

  • Q : Define Unions Unions: Unions in C and

    Unions: Unions in C and C++ are object overlays—aggregate quantities such as structs, except that each element of the union consists offset 0, and the total size of union is only as large as is required to hold its largest member (Kernighan and