--%>

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 : What is Client Client : It is a user of

    Client: It is a user of a service. The Web client requests resources from Web server, for example: Whenever the client is an object then this is the sender of messages to its object servers.

  • Q : Define Deprecated Deprecated : Somewhat

    Deprecated: Somewhat that has been made superseded by later on versions of the API. Deprecated methods must not be employed as there is no guarantee that they will carry on to subsist in the future versions.

  • Q : State HyperText Transfer Protocol

    HyperText Transfer Protocol: The HyperText Transfer Protocol (abbreviated as HTTP) is a set of rules stated to enable a Web client (that is, browser) to interact with the Web server.

  • Q : How virtual machine simplify writing

    How does a virtual machine simplify the task of writing a distributed application?

  • Q : What is applet? Explain life cycle of

    Ans. Applet: An applet is an application designed to travel over the internet and to be executed on the client machine by a java compatible

  • Q : What are the valid and invalid XHTML

    What are the valid and invalid XHTML element names?

  • Q : System Architecture for Windows

    Tell me about the System Architecture for Windows Programming?

  • Q : Assembly program that reads in five

     I need to write assembly program that reads in five numbers from the user. The user can then be prompted for one of the following pieces of information to be computed and returned: . the mean of the five numbers; . the largest number in the set; . the smallest number in the set; . t

  • Q : Risks associated while porting a c pre

    Q. 1 Explain number of issues which are faced while porting a c pre processor in java. These issues always have the probability that the code will show errors while trying to execute the code in java.  Q.2 : Software Requirement Specification or Requirements for the studen

  • Q : What is Virtual desktop Virtual desktop

    Virtual desktop: The name employed to explain a user's graphical working area in a window manager. The name arises in the early days of graphical user interfaces whenever it was thought that such would lead to `paperless offices'. This was anticipated