Gui Guan’s BLOG

There’s more than one way to do it

Archive for November, 2007

LDBL_MAX -1.#QNAN0e+000 with MinGW?

I have tried to run this with both eclipse(CDT)+MinGW and Cygwin+GCC

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <stdlib.h>
#include <float.h>
 
int main()
  {
    puts("The range of ");
    printf("\tlong double is [%Le, %Le]∪[%Le, %Le]\n", -LDBL_MAX, -LDBL_MIN, LDBL_MIN, LDBL_MAX);
    return EXIT_SUCCESS;
  }

but got different results:

  • In eclipse(CDT)+MinGW
    The range of
    long double is [-1.#QNAN0e+000, 3.237810e-319]∪[6.953674e-310, 0.000000e+000]
  • In Cygwin+GCC
    The range of
    long double is [-1.189731e+4932, -3.362103e-4932]∪[3.362103e-4932, 1.189731e+4932]

This is weird, and I googled it, then just found this http://www.thescripts.com/forum/thread498535.html

The LDBL_MAX of long double is machine-dependent, but why it like this in same machine? I guess it’s the problem with MinGW. Anyone hv any idea?

  • 2 Comments
  • Filed under: C
  • Today, when I was reviewing the session part of PHP, I suddenly came out a question: how to make PHP to append session ID(SID) to your page links automatically when cookies are forbidden in that browser? I managed to do this in JSP, but not sure whether the PHP can also handle this problem.

    I checked the configuration files (php.ini) for my apache server, and there is a session section, under which there is a setting session.use_trans_sid = 0. After I changed this to session.use_trans_sid = 1, and restarted apache, the links of the page which invoked session_start() have now appended the SID. There is also an url_rewriter.tags, with which you can define what elements of a page will be appended.

    Here are some demo codes:

    sessions.php

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    <?php ob_start(); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    	<title>Untitled</title>
    </head>
     
    <body>
    <?php
    	ini_set('session.use_trans_sid','1'); //you can also do this instead of modify php.ini
    	session_start();
    	$_SESSION['test']='right!';
    	//header('Location: sessions2.php'); //SID won't be appended in this situation
    	//exit();
    ?>
    <a href="sessions2.php">click here</a>
    </body>
    </html>
    <?php ob_end_flush(); ?>

    sessions2.php

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    <?php ob_start(); ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    	<title>Untitled</title>
    </head>
     
    <body>
    <?php
    	session_start();
    	echo $_SESSION['test'];
    ?>
     
    </body>
    </html>
    <?php ob_end_flush(); ?>
  • 0 Comments
  • Filed under: PHP