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.

}<br />

Output:<br />

TERM<br />

Explanation:<br />

TERM stands for “termination request”.<br />

Standard C Libraries with Math Functions<br />

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

raise<br />

Description: Reports a synchronous signal.<br />

Include: <br />

Prototype: int raise(int sig);<br />

Argument: sig signal name<br />

Return Value: Returns a 0 if successful; otherwise, returns a nonzero value.<br />

Remarks: raisesends the signal identified bysig to the executing program.<br />

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

/* SIGILL, SIG_DFL */<br />

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

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

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

void __attribute__((__interrupt__))<br />

_MathError(void)<br />

{<br />

raise(SIGILL);<br />

INTCON1bits.MATHERR = 0;<br />

}<br />

void illegalinsn(int idsig)<br />

{<br />

printf("Illegal instruction executed\n");<br />

truy cập vào danh sách đối số, và va_endwill chấm dứt việc sử dụng của các đố<br />

số.<br />

va_list<br />

Mô tả: Các loại va_listdeclares một biến mà sẽ đề cập đến từng đối số<br />

trong một danh sách đối số chiều dài thay đổi.<br />

Bao gồm:<br />

Ví dụ: Xem va_arg.<br />

va_arg<br />

Mô tả: Được tranh luận hiện nay<br />

Bao gồm:<br />

Prototype: va_arg # define (va_list ap, Ty)<br />

Đối số: ap con trỏ đến danh sách các đối số<br />

Ty loại đối số được lấy ra<br />

Quay trở lại giá trị: Trả về đối số hiện nay<br />

Bình luận: va_startmust được gọi trước khi va_arg.<br />

Ví dụ: # include / * Cho printf * /<br />

# include / * Cho va_arg, va_start,<br />

va_list, va_end * /<br />

khoảng trống tprint (const char * fmt, ...)<br />

{<br />

va_list ap;<br />

va_start (ap, fmt);<br />

trong khi (* fmt)<br />

{<br />

chuyển đổi (* fmt)<br />

{<br />

dsPIC<br />

®<br />

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

exit(1);<br />

}<br />

int main(void)<br />

{<br />

int x, y;<br />

div_t z;<br />

DS51456B trang 222<br />

trường hợp '%':<br />

fmt ++;<br />

if (* fmt == 'd')<br />

{<br />

int d = va_arg (ap, int);<br />

2004 Microchip Technology Inc<br />

signal(SIGILL, illegalinsn);<br />

x = 7;<br />

y = 0;<br />

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

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

printf (" là một số nguyên \ n", d);<br />

}<br />

else if (* == fmt 's')<br />

{<br />

char * s = va_arg (ap, char *);

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

Saved successfully!

Ooh no, something went wrong!