30.10.2014 Views

o_195h4n6al16jb186b1b2qs7fgssa.pdf

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

abort - terminating<br />

See the example accompanying signalto see general usage of<br />

signal names and signal handling.<br />

Example: #include /* for raise, SIGABRT */<br />

#include /* for printf */<br />

int main(void)<br />

{<br />

raise(SIGABRT);<br />

printf("Program never reaches here.");<br />

}<br />

Output:<br />

ABRT<br />

Explanation:<br />

ABRT stands for “abort”.<br />

SIGFPE<br />

Description: Signals floating-point error such as for division by zero or result<br />

out of<br />

range.<br />

Include: <br />

Prototype: #define SIGFPE<br />

Remarks: SIGFPEis used as an argument for raiseand/or signal. When<br />

used, the default behavior is to print an arithmetic error message and<br />

terminate the calling program. This may be overridden by a user<br />

function that defines the signal handler actions. See signalfor an<br />

example of a user defined function.<br />

Example: #include /* for raise, SIGFPE */<br />

#include /* for printf */<br />

int main(void)<br />

{<br />

raise(SIGFPE);<br />

printf("Program never reaches here");<br />

}<br />

Output:<br />

FPE<br />

Explanation:<br />

FPE stands for “floating-point error”.<br />

Standard C Libraries with Math Functions<br />

2004 Microchip Technology Inc. DS51456B-page 217<br />

SIGILL<br />

Giải thích:<br />

HẠN viết tắt của "yêu cầu chấm dứt".<br />

Thư viện chuẩn C với hàm toán học<br />

2004 Microchip Technology Inc DS51456B trang 219<br />

nâng cao<br />

Mô tả: Báo cáo một tín hiệu đồng bộ.<br />

Bao gồm:<br />

Nguyên mẫu: int tăng (int sig);<br />

Đối số: sig tên tín hiệu<br />

Quay trở lại giá trị: Trả về 0 nếu thành công; nếu không, trả về giá trị khác<br />

không.<br />

Bình luận: raisesends tín hiệu xác định bysig cho chương trình thực hiện.<br />

Ví dụ: # include / * Cho tăng, tín hiệu, * /<br />

/ * SIGILL, SIG_DFL * /<br />

# include / * Cho div, div_t * /<br />

# include / * Cho printf * /<br />

# include / * Cho INTCON1bits * /<br />

khoảng trống __attribute __ ((__ interrupt__))<br />

_MathError (Void)<br />

{<br />

nâng cao (SIGILL);<br />

INTCON1bits.MATHERR = 0;<br />

}<br />

khoảng trống illegalinsn (int idsig)<br />

{<br />

printf ("bất hợp pháp hướng dẫn thực hiện \ n");<br />

exit (1);<br />

}<br />

int main (void)<br />

{<br />

int x, y;<br />

z div_t;<br />

tín hiệu (SIGILL, illegalinsn);<br />

x = 7;<br />

y = 0;<br />

z = div (x, y);<br />

printf ("Chương trình không bao giờ đạt ở đây");<br />

}<br />

Đầu ra:<br />

Hướng dẫn thực hiện bất hợp pháp

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!