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.

Description: Signals illegal instruction.<br />

Include: <br />

Prototype: #define SIGILL<br />

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

used, the default behavior is to print an invalid executable code<br />

message and terminate the calling program. This may be overridden by<br />

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

an example of a user defined function.<br />

Example: #include /* forraise, SIGILL */<br />

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

int main(void)<br />

{<br />

raise(SIGILL);<br />

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

}<br />

Output:<br />

ILL<br />

Explanation:<br />

ILL stands for “illegal instruction”.<br />

SIGINT<br />

Description: Interrupt signal.<br />

Include: <br />

Prototype: #define SIGINT<br />

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

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

terminate the calling program. Thismay 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 /* forraise, SIGINT */<br />

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

int main(void)<br />

{<br />

raise(SIGINT);<br />

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

}<br />

Output:<br />

INT<br />

Explanation:<br />

INT stands for “interruption”.<br />

Giải thích:<br />

Ví dụ này đòi hỏi các mối liên kết p30f6014.gld kịch bản. Có ba<br />

các bộ phận để ví dụ này.<br />

Đầu tiên, một xử lý ngắt được viết cho các vector ngắt<br />

_MathErrorto Xử lý một lỗi toán học bằng cách gửi một lệnh bất hợp pháp<br />

tín hiệu (SIGILL) để chương trình thực hiện. Tuyên bố cuối cùng trong<br />

gián đoạn xử lý xóa cờ ngoại lệ.<br />

Thứ hai, các chức năng illegalinsnwill in một thông báo lỗi và<br />

thoát cuộc gọi.<br />

Thứ ba, chính, tín hiệu (SIGILL, illegalinsn) bộ xử lý<br />

cho SIGILLto chức năng illegalinsn.<br />

Khi một lỗi toán học xảy ra, do một chia cho số không, các _MathError<br />

vector ngắt được gọi, mà lần lượt sẽ nâng cao một tín hiệu rằng sẽ gọi<br />

chức năng xử lý cho SIGILL, đó là chức năng illegalinsn.<br />

Vì vậy, các thông báo lỗi được in và chương trình được chấm dứt.<br />

dsPIC<br />

®<br />

Thư viện Công cụ Ngôn ngữ<br />

DS51456B trang 220 2004 Microchip Technology Inc<br />

tín hiệu<br />

Mô tả: Điều khiển gián đoạn xử lý tín hiệu.<br />

Bao gồm:<br />

Nguyên mẫu: void (* tín hiệu (int sig, void (* func) (int))) (int);<br />

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

chức năng Func được thực hiện<br />

Quay trở lại giá trị: Trả về giá trị trước đó của Func.<br />

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

/ * SIGINT, SIGILL, * /<br />

/ * SIG_IGN, và SIGFPE * /<br />

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

/ * Chức năng xử lý tín hiệu * /<br />

khoảng trống mysigint (int id)<br />

{<br />

printf ("SIGINT nhận \ n");<br />

}<br />

int main (void)<br />

{<br />

/ * Ghi đè mặc định với người dùng xác định chức năng * /<br />

tín hiệu (SIGINT, mysigint);

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

Saved successfully!

Ooh no, something went wrong!