⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cc

📁 这是一个Linux下的集成开发环境
💻 CC
字号:
// $Header: /cvsroot/sourcenav/src/snavigator/demo/c++_demo/glish/main.cc,v 1.1.1.1 2002/04/18 23:35:25 mdejong Exp $// Copyright (c) 1993 The Regents of the University of California.// All rights reserved.//// This code is derived from software contributed to Berkeley by// Vern Paxson.//// The United States Government has rights in this work pursuant// to contract no. DE-AC03-76SF00098 between the United States// Department of Energy and the University of California, and// contract no. DE-AC02-89ER40486 between the United States// Department of Energy and the Universities Research Association, Inc.//// Redistribution and use in source and binary forms are permitted// provided that: (1) source distributions retain this entire// copyright notice and comment, and (2) distributions including// binaries display the following acknowledgement:  ``This product// includes software developed by the University of California,// Berkeley and its contributors'' in the documentation or other// materials provided with the distribution and in all advertising// materials mentioning features or use of this software.  Neither the// name of the University nor the names of its contributors may be// used to endorse or promote products derived from this software// without specific prior written permission.//// THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR// IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR// PURPOSE.#include "system.h"#include <signal.h>#include <osfcn.h>#include <ctype.h>#include <string.h>#include "input.h"#include "Reporter.h"#include "Sequencer.h"static Sequencer* s;#if USE_EDITLINEextern "C" void nb_readline_cleanup();#endifvoid glish_cleanup()	{#if USE_EDITLINE	nb_readline_cleanup();#endif	set_term_unchar_mode();	exit( 0 );	}int main( int argc, char** argv )	{	(void) install_signal_handler( SIGINT, glish_cleanup );	(void) install_signal_handler( SIGHUP, glish_cleanup );	(void) install_signal_handler( SIGTERM, glish_cleanup );	s = new Sequencer( argc, argv );	s->Exec();	// We don't delete s because presently the Sequencer class does	// not reclaim its sundry memory upon deletion, so Purify complains	// about zillions of memory leaks.  This is also the reason why	// s is a static and not a local.	glish_cleanup();	return 0;	}#if USE_EDITLINEextern "C" {	char *readline( const char * );	char *nb_readline( const char * );	extern char *rl_data_incomplete;	void add_history( char * );}static int fmt_readline_str( char* to_buf, int max_size, char* from_buf )	{	if ( from_buf )		{		char* from_buf_start = from_buf;		while ( isspace(*from_buf_start) )			++from_buf_start;		if ( strlen( from_buf_start ) <= max_size )			to_buf = strcpy( to_buf, from_buf_start );		else			{			cerr << "Not enough buffer size (in fmt_readline_str)"			     << endl;			free_memory( (void*) from_buf );			return 0;			}		  		if ( *to_buf )			add_history( to_buf );		sprintf( to_buf, "%s\n", from_buf_start );		if ( from_buf )			free_memory( (void*) from_buf );		return strlen( to_buf );		}	else		return 0;	}int interactive_read( FILE* /* file */, const char prompt[], char buf[],			int max_size )	{#ifndef __GNUC__        static int did_sync = 0;        if ( ! did_sync )		{		ios::sync_with_stdio();		did_sync = 1;		}#endif	char* ret;	if ( current_sequencer->ActiveClients() )		{		ret = nb_readline( prompt );		while ( ret == rl_data_incomplete )			{			current_sequencer->EventLoop();			ret = nb_readline( prompt );			}		}	else		{		current_sequencer->EventLoop();		ret = readline( prompt );		}	return fmt_readline_str( buf, max_size, ret );	}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -