当前位置: 技术问答>linux和unix
Linux 中奇怪的 C 函数声明??
来源: 互联网 发布时间:2015-05-13
本文导语: 在 ANSI 中函数声明格式却是: 返回值 函数名(形参...); 可有高手知道 在 中有如下函数声明: extern __pid_t fork(void) __THROW; __THROW 是什么意思有什么作用? | C99吸收了很多C++的东西,比如说在C中也可以有inli...
在 ANSI 中函数声明格式却是:
返回值 函数名(形参...);
可有高手知道
在 中有如下函数声明:
extern __pid_t fork(void) __THROW;
__THROW 是什么意思有什么作用?
|
C99吸收了很多C++的东西,比如说在C中也可以有inline,所以这个东西也没有必要太在意
|
__THROW是个宏定义,在定义了__cplusplus时是throw(),没定义时是空的,用来匹配C和C++的编译器。
|
这应该是个关于异常的宏定义---你看看具体地方把
注意c++异常语法和java的微妙区别
c++:
void f()表示可以抛出任何异常
void f() throw()表示不抛出任何异常
java:
public void f() 表示不抛出任何异常
public void f(void) throw(具体异常)
注意c++异常语法和java的微妙区别
c++:
void f()表示可以抛出任何异常
void f() throw()表示不抛出任何异常
java:
public void f() 表示不抛出任何异常
public void f(void) throw(具体异常)
|
表示有异常抛出吧
|
恰恰相反,这个说明该函数8会抛出任何异常。