📄 mo
字号:
@c ----------------------------------------------------------------------
@node modf, math
@heading @code{modf}
@subheading Syntax
@example
#include <math.h>
double modf(double x, double *pint);
@end example
@subheading Description
This function decomposes @var{x} into it's integer part (*@var{pint})
and it's fractional part (return value) such that the two have the same
sign and add up to @var{x}.
@subheading Return Value
The fractional part.
@subheading Example
@example
double f, i;
f = modf(2.3, &i);
/* f == 0.3, i == 2.0 */
@end example
@c ----------------------------------------------------------------------
@node modfl, math
@heading @code{modfl}
@subheading Syntax
@example
#include <math.h>
long double modfl(long double x, long double *pint);
@end example
@subheading Description
This function decomposes @var{x} into it's integer part (*@var{pint})
and it's fractional part (return value) such that the two have the same
sign and add up to @var{x}.
@subheading Return Value
The fractional part.
@subheading Example
@example
long double f, i;
f = modf(2.3L, &i);
/* f == 0.3, i == 2.0 */
@end example
@c ----------------------------------------------------------------------
@node morecore, memory
@heading @code{morecore}
@subheading Description
This is an internal function used by @code{malloc} (@pxref{malloc}).
@c ----------------------------------------------------------------------
@node mouse.h, header
@heading @code{<mouse.h>}
This header defines a simple mouse API. For a more complete mouse
API, obtain GRX or one of the X development systems. To use these
functions, add @code{-lgr} at the end of your link line.
@c ----------------------------------------------------------------------
@node movedata, memory
@heading @code{movedata}
@subheading Syntax
@example
#include <go32.h>
void movedata(unsigned source_selector, unsigned source_offset,
unsigned dest_selector, unsigned dest_offset,
size_t length);
@end example
@subheading Description
This function allows the caller to directly transfer information between
conventional and linear memory, and among each as well. The selectors
passed are @emph{not} segment values like in DOS. They are protected
mode selectors that can be obtained by the @code{_go32_my_ds} and
@code{_go32_conventional_mem_selector} functions (@pxref{_go32_my_ds}
@xref{_go32_conventional_mem_selector}). The offsets are linear
offsets. If the selector is for the program's data area, this offset
corresponds to the address of a buffer (like @code{(int)&something}). If the
selector is for the conventional memory area, the offset is the physical
address of the memory, which can be computed from a traditional
segment/offset pair as @code{segment}*16+@code{offset}. For example,
the color text screen buffer is at offset 0xb8000.
@subheading Return Value
None.
@subheading Example
@example
short blank_row_buf[ScreenCols()];
/* scroll screen */
movedata(_go32_conventional_mem_selector(), 0xb8000 + ScreenCols()*2,
_go32_conventional_mem_selector(), 0xb8000,
ScreenCols() * (ScreenRows()-1) * 2);
/* fill last row */
movedata(_go32_my_ds, (int)blank_row_buf,
_go32_conventional_mem_selector(),
0xb8000 + ScreenCols()*(ScreenRows()-1)*2,
ScreenCols() * 2);
@end example
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -