阅读内容 

CGI教程(6)调用CGI脚本文件的例子之三

[日期:2005-04-12] 来源:中国站长学院  作者:郁郁小蝎 [字体: ]
调用CGI脚本文件的例子

上面的程序当然还需要两个文件,即t99_type.h和mas_cvo.cpp。具体代码请看下一页。如下:

//以下是t99_type.h文件

#ifndef MAS_TYPE

#define MAS_TYPE

#ifndef __TURBOC__

# define __TURBOC__ 0x0000

#endif

#define V5 (__TURBOC__ >= 0x0500 )

#define V4 (__TURBOC__ >= 0x0400 && __TURBOC__ <= 0x0499 )

#define V3 (__TURBOC__ >= 0x0300 && __TURBOC__ <= 0x0399 )

#if V3

#define DOES_NOT_HAVE_BOOL

#define DOES_NOT_HAVE_STRING

#define DOES_NOT_HAVE_EXCEPTION

#define DOES_NOT_HAVE_EXCEPTION_CLASSES

#define DOES_NOT_HAVE_MUTABLE

#define DOES_NOT_HAVE_EXPLICIT

#define DOES_NOT_HAVE_NAMESPACE_STD

#endif

#if V4

#define DOES_NOT_HAVE_BOOL

#define DOES_NOT_HAVE_EXCEPTION_CLASSES

#define DOES_NOT_HAVE_MUTABLE

#define DOES_NOT_HAVE_EXPLICIT

#define DOES_NOT_HAVE_NAMESPACE_STD

#endif

#if V5

#define DOES_NOT_HAVE_EXCEPTION_CLASSES

//#define HAS_NAMESPACE_STD

#endif

#ifdef __GNUC__

//#define NEED_TO_INCLUDE_libioP

//#define DOES_NOT_HAVE_EXCEPTION -fhandle-execeptions

#define DOES_NOT_HAVE_EXCEPTION_CLASSES

//#include (Broken)

#define DOES_NOT_HAVE_MUTABLE

#define DOES_NOT_HAVE_EXPLICIT

#define DOES_NOT_HAVE_NAMESPACE_STD

#endif

#ifdef DOES_NOT_HAVE_NAMESPACE_STD

#define std

#endif

#ifdef NEED_TO_INCLUDE_libioP

#include

#endif

#ifdef DOES_NOT_HAVE_BOOL

# define bool int

# define true 1

# define false 0

#endif

#ifdef DOES_NOT_HAVE_MUTABLE

# define mutable

#endif

#ifdef DOES_NOT_HAVE_EXPLICIT

# define explicit

#endif

#ifdef DOES_NOT_HAVE_EXCEPTION

# define throw

# define try

# define catch( parameter ) exception err; if ( false )

#endif

#undef DOES_NOT_HAVE_EXCEPTION_CLASSES

#ifdef DOES_NOT_HAVE_EXCEPTION_CLASSES

# ifdef DOES_NOT_HAVE_STRING

# include "t99_str.h"

# else

# ifdef __GNUC__

# include

# //include

# //include "t99_str.h"

# //include

# else

# include

# endif

# endif

class exception

{

public:

exception( const string& arg="" )

{

the_message = arg;

}

virtual ~exception(){};

virtual const char* what()

{

return the_message.c_str();

}

private:

string the_message;

};

class logic_error: public exception

{

public:

logic_error( const string& arg ) : exception( arg ) {};

};

class runtime_error: public exception

{

public:

runtime_error( const string& arg ) : exception( arg ) {};

};

class range_error: public runtime_error

{

public:

range_error( const string& arg ) : runtime_error( arg ) {};

};

class overflow_error: public runtime_error

{

public:

overflow_error( const string& arg ) : runtime_error( arg ) {};

};

class domain_error: public logic_error

{

public:

domain_error( const string& arg ) : logic_error( arg ) {};

};

class out_of_range: public logic_error

{

public:

out_of_range( const string& arg ) : logic_error( arg ) {};

};

class invalid_argument: public logic_error

{

public:

invalid_argument( const string& arg ) : logic_error( arg ) {};

};

class length_error: public logic_error

{

public:

length_error( const string& arg ) : logic_error( arg ) {};

};

#endif

#endif

下一页是mas_cvo.cpp文件
阅读:
录入:

推荐 】 【 打印
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
Advertisement
内容查询


Advertisement