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.

dsPIC<br />

®<br />

Language Tools Libraries<br />

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

SIGSEGV<br />

Description: Signals invalid access to storage.<br />

Include: <br />

Prototype: #define SIGSEGV<br />

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

used, the default behavior is to print an invalid storage request<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 /* for raise, SIGSEGV */<br />

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

int main(void)<br />

{<br />

raise(SIGSEGV);<br />

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

}<br />

Output:<br />

SEGV<br />

Explanation:<br />

SEGV stands for “invalid storage access”.<br />

SIGTERM<br />

Description: Signals a termination request<br />

Include: <br />

Prototype: #define SIGTERM<br />

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

used, the default behavior is to print a termination request message<br />

and 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, SIGTERM */<br />

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

int main(void)<br />

{<br />

raise(SIGTERM);<br />

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

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

/ * Bỏ qua xử lý tín hiệu * /<br />

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

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

printf ("SIGILL đã bị bỏ qua \ n");<br />

/ * Sử dụng tín hiệu mặc định xử lý * /<br />

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

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

}<br />

Đầu ra:<br />

SIGINT nhận<br />

SIGILL đã bị bỏ qua<br />

FPE<br />

Giải thích:<br />

Các chức năng xử lý tín hiệu mysigintis người dùng định nghĩa cho SIGINT.<br />

Bên trong chương trình chính, chức năng signalis gọi thành lập<br />

xử lý tín hiệu (mysigint) cho SIGINTthat tín hiệu sẽ ghi đè lên<br />

hành động mặc định. Chức năng raiseis gọi đến báo tín hiệu<br />

SIGINT. Điều này làm cho xử lý tín hiệu cho SIGINTto sử dụng<br />

người dùng định nghĩa chức năng (mysigint) như là xử lý tín hiệu để nó in<br />

"SIGINT nhận được" tin nhắn.<br />

Tiếp theo, chức năng signalis kêu gọi thiết lập xử lý tín hiệu<br />

SIG_IGNfor các SIGILL tín hiệu. Các SIG_IGNis liên tục được sử dụng để<br />

chỉ ra shouldbe tín hiệu bỏ qua. Chức năng raiseis kêu gọi<br />

báo cáo SIGILLthat tín hiệu được bỏ qua.<br />

Chức năng raiseis gọi một lần nữa để báo cáo SIGFPE tín hiệu. Kể từ<br />

không có người sử dụng được xác định chức năng cho SIGFPE, xử lý tín hiệu<br />

mặc định<br />

được sử dụng để thông báo "FPE" được in (viết tắt của<br />

"Lỗi số học - chấm dứt") Sau đó, chương trình gọi là.<br />

chấm dứt. Các printfstatement không bao giờ đạt được.<br />

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

2004 Microchip Technology Inc DS51456B trang 221<br />

4.11 DANH MỤC LUẬN BIẾN<br />

Các tập tin tiêu đề stdarg.hsupports chức năng với danh sách đối số biến. Điều<br />

này cho phép<br />

chức năng để có những lập luận mà không cần khai báo tham số tương ứng. Có<br />

phải có ít nhất một đối số được đặt tên. Các đối số biến được biểu diễn bằng<br />

bầu dục (...). Một đối tượng của loại va_listmust được khai báo trong các chức<br />

năng để giữ<br />

các đối số. va_startwill khởi tạo biến một danh sách đối số, va_argwill

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

Saved successfully!

Ooh no, something went wrong!