idlsysdep.h
来自「编译工具」· C头文件 代码 · 共 167 行
H
167 行
// -*- c++ -*-// Package : omniidl// idlsysdep.h Created on: 1999/11/04// Author : Duncan Grisby (dpg1)//// Copyright (C) 1999 AT&T Laboratories Cambridge//// This file is part of omniidl.//// omniidl is free software; you can redistribute it and/or modify it// under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU// General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA// 02111-1307, USA.//// Description:// // System dependencies// $Id: idlsysdep.h,v 1.4.2.6 2004/07/01 19:08:08 dgrisby Exp $// $Log: idlsysdep.h,v $// Revision 1.4.2.6 2004/07/01 19:08:08 dgrisby// Support Windows build with mingw. Thanks Wolfgang Glas.//// Revision 1.4.2.5 2002/02/01 11:22:06 dpg1// strcasecmp/stricmp redefinition on Windows.//// Revision 1.4.2.4 2002/01/15 16:38:14 dpg1// On the road to autoconf. Dependencies refactored, configure.ac// written. No makefiles yet.//// Revision 1.4.2.3 2001/06/08 17:12:24 dpg1// Merge all the bug fixes from omni3_develop.//// Revision 1.4.2.2 2000/10/27 16:31:10 dpg1// Clean up of omniidl dependencies and types, from omni3_develop.//// Revision 1.4.2.1 2000/07/17 10:36:05 sll// Merged from omni3_develop the diff between omni3_0_0_pre3 and omni3_0_0.//// Revision 1.5 2000/07/13 15:25:52 dpg1// Merge from omni3_develop for 3.0 release.//// Revision 1.2 1999/11/09 12:41:40 dpg1// strcasecmp changes for NT, AIX.//// Revision 1.1 1999/11/05 09:43:01 dpg1// Changes for NT.//#ifndef _idlsysdep_h_#define _idlsysdep_h_#define USE_omniORB_logStream#include <omniORB4/CORBA_sysdep.h>// As usual, Windows manages to be different...#ifdef __WIN32__// declspec is a define in windef.h under MINGW#ifdef __MINGW32__# define DLL_EXPORT __attribute__((dllexport))#else# define DLL_EXPORT _declspec(dllexport)#endif#else# define DLL_EXPORT# include <strings.h>#endif#ifdef HAS_Cplusplus_Booltypedef bool IDL_Boolean;#elsetypedef unsigned char IDL_Boolean;#endiftypedef unsigned char IDL_Char;typedef unsigned char IDL_Octet;typedef short IDL_Short;typedef unsigned short IDL_UShort;typedef unsigned short IDL_WChar;#if SIZEOF_LONG == 4typedef long IDL_Long;typedef unsigned long IDL_ULong;#elif SIZEOF_INT == 4typedef int IDL_Long;typedef unsigned int IDL_ULong;#else# error "Can't map Long (32 bits) to a native type."#endif#ifdef HAS_LongLongtypedef _CORBA_LONGLONG_DECL IDL_LongLong;typedef _CORBA_ULONGLONG_DECL IDL_ULongLong;#endif#ifndef NO_FLOAT#ifndef __VAX// This platform uses IEEE floattypedef float IDL_Float;typedef double IDL_Double;#ifdef HAS_LongDoubletypedef _CORBA_LONGDOUBLE_DECL IDL_LongDouble;#endif#else // VAX float test// VAX uses proxies for float.#define USING_PROXY_FLOATclass IDL_Float { IDL_Long pd_f; void cvt_(float f); float cvt_() const;public: // using compiler generated copy constructor and copy assignment inline IDL_Float() {cvt_(0.0f);} inline IDL_Float(float f) {cvt_(f);} inline operator float() const {return cvt_();}};class IDL_Double { IDL_Long pd_d[2]; void cvt_(double d); double cvt_() const;public: // using compiler generated copy constructor and copy assignment inline IDL_Double() {cvt_(0.0);} inline IDL_Double(double d) {cvt_(d);} inline operator double() const {return cvt_();}};#undef cvt_// Assume long double type is compatible with the CORBA standard.#ifdef HAS_LongDoubletypedef _CORBA_LONGDOUBLE_DECL IDL_LongDouble;#endif#endif // VAX float test#endif // !defined(NO_FLOAT)#endif // _idlsysdep_h_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?