--%>

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 : Give some instances of XML DTDs or

    Give some instances of XML DTDs or schemas which you have worked with?

  • Q : Define the term Heterogeneous collection

    Define the term Heterogeneous collection: It is a collection of objects with distinct dynamic types

  • Q : Explain the relationship between XHTML

    Explain the relationship between XHTML and HTTP?

  • Q : Write a recursive function intpower(base

    Write a recursive function intpower(base, exponent) that when invoked returns base^exponent. For example, intpower(3,4) = 3*3*3*3. Assume that the exponent is an integer greater than or equal to 1.

  • Q : State Precedence rules Precedence rules

    Precedence rules: The rules which determine the order of computation of an expression comprising more than one operator. The operators of higher precedence are computed before those of lower precedence. For example, in the expression x+y*z, the multip

  • Q : Define Zip file Zip file : It is a file

    Zip file: It is a file employed to store compressed versions of the files. In connection with Java bytecode files, such have mostly been superseded by the Java Archive (abbreviated as JAR) files.

  • Q : Calculate the summation of 1 to some

    Write two programs to calculate the summation of 1 to some integer n using a function called int summation(int n) a) Using a non recursive solution, with a for(i=1, i<=n; i++) loop and b) using a recursive solution, based on the following conditions summation(n) = summation(n-1

  • Q : Data type conversion Data type

    Data type conversion: Conversion of one data type into the other data type. Two kind of conversion that is, A) Implicit Conversion: This is automatically taken care

  • Q : Ffunction of DynamicPopulateExtender

    What is the function of DynamicPopulateExtender control?

  • Q : What is Cascading if-else statement

    Cascading if-else statement: A form of if-else statement in which all else-part (apart from the last) comprises of a further nested if-else statement. Employed to overcome the trouble of textual drift frequently related with nested if statements.