易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux 下 C++ 异常处理技巧

http://www.ibm.com/developerworks/cn/linux/l-cppexcep.html
处理固有语言局限性的四种技术
处理 C++ 中的异常会在语言级别上遇到少许隐含限制,但在某些情况下,您可以绕过它们。学习各种利用异常的方法,您就可以生产更可靠的应用程序。
保留异常来源信息
在 C++中,无论何时在处理程序内捕获一个异常,关于该异常来源的信息都是不为人知的。异常的具体来源可以提供许多更好地处理该异常的重要信息,或者提供一些可以附加到错误日志的信息,以便以后进行分析。
为了解决这一问题,可以在抛出异常语句期间,在异常对象的构造函数中生成一个堆栈跟踪。ExceptionTracer
是示范这种行为的一个类。
//在异常对象构造函数中生成一个堆栈跟踪
// Sample Program:
// Compiler: gcc 3.2.3 20030502
// Linux: Red Hat
#include <execinfo.h>
#include <signal.h>
#include <exception>
#include <iostream>
using namespace std;
/////////////////////////////////////////////
class ExceptionTracer
{
public:
ExceptionTracer()
{
void * array[25];
int nSize = backtrace(array, 25);
char ** symbols = backtrace_symbols(array, nSize);
for (int i = 0; i < nSize; i++)
{
cout << symbols[i] << endl;
}
free(symbols);
}

管理信号

当进程执行一个令人讨厌的动作,以致于 Linux™
内核发出一个信号时,该信号都必须被处理。信号处理程序通常会释放一些重要资源并终止应用程序。在这种情况下,堆栈上的所有对象实例都处于未破坏状态。另
一方面,如果这些信号被转换成 C++ 异常,那么您可以优雅地调用其构造函数,并安排多层 catch 块,以便更好地处理这些信号。
清单 2 中定义的 SignalExceptionClass
,提供了表示内核可能发出信号的 C++ 异常的抽象。SignalTranslator
是一个基于 SignalExceptionClass
的模板类,它通常用来实现到 C++ 异常的转换。在任何瞬间,只能有一个信号处理程序处理一个活动进程的一个信号。因此,SignalTranslator
采用了 singleton 设计模式。整体概念通过用于 SIGSEGV 的 SegmentationFault
类和用于 SIGFPE 的 FloatingPointException
类得到了展示。

template <class SignalExceptionC


相关文档:

linux系统下查看和设置日期时间的命令

linux系统下查看和设置日期时间的命令都是date。
查看日期时间命令:date
设置日期时间命令:date -s [date|time]
设置系统日期和时间为:2008年9月9日14时25分49秒
date -s '20080909 14:25:49'   //一定要加引号才行。 ......

Linux系统下如何查看及修改文件读写权限

查看文件权限的语句:
  在终端输入:
  ls -l xxx.xxx (xxx.xxx是文件名)
  那么就会出现相类似的信息,主要都是这些:
  -rw-rw-r--
  一共有10位数
  其中: 最前面那个 - 代表的是类型
  中间那三个 rw- 代表的是所有者(user)
  然后那三个 rw- 代表的是组群(group)
  最后那 ......

vmware 网络配置实例二 windows host + linux guest

vmware 网络配置实例二 windows host + linux guest
(yunqing(2005-03-24)按:很多朋友问到ping不通host的情况,请检查一下host里的防火墙设置,多数的windows xp sp2下的防火墙都设置成不响应)
前言:前几天写了一个vmware的配置的一个案例,主要关于linux host+win ......

Linux 脚本编写基础 【来源:www.cncfan.com】

1. Linux 脚本编写基础
1.1 语法基本介绍
1.1.1 开头
程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh

  符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
  当编辑好脚本
时,如果要执行该脚本,还必须使其可执行。
  要使脚本可执行: ......

linux cp命令详解

 
语法: cp [选项] 源文件或目录 目标文件或目录
说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
该命令的各选项含义如下:
- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。(有时侯拷贝需要保留文件的链接,就要用到了.)
- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号