C³£ÓôúÂë
Ò»¡¢ÅúÁ¿×ªÒÆ×Ö·ûµ½»º³åÇø
bufptr = buffer;
void bufwrite(char* p,int n)
{
while(n>0)
{
int k,rem;
if(bufptr == &buffer[N])
flushbuffer();
rem = N - (bufptr - buffer);
k = n > rem ? rem : n;
memcpy(bufptr,p,k);
bufptr += k;
p += k;
n -= k;
}
}
¶þ¡¢ÒÆÎ»ÔËËã·û
ÓзûºÅÕûÊýµÄÏòÓÒÒÆÎ»ÔËËãÒ²²»µÈÓÚ³ýÒÔ2µÄij´ÎÃÝ¡£ È磺 £¨-1£©>> 1 Ò»°ã²»µÈÓÚ0£¬¶ø £¨-1£©/2ÔÚ´ó¶àÊýCʵÏÖÉÏÇóÖµ½á¹ûΪ0.
Ïà¹ØÎĵµ£º
¡¡1.¸ÅÊö
¡¡¡¡Ðí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬Òå
¡¡¡¡voidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void *¿ÉÒÔÖ¸ÏòÈκÎÀàÐ͵ÄÊý¾ ......
void myprintf(const char *format, ...)
{
va_list arglist;
va_start(arglist, format);
vprintf(format, arglist); // or some other operation
va_end(arglist);
}
NAME
printf, fprintf, sprintf, snprintf, vprintf, vfprintf, vsprintf, vsnprintf - formatt ......
¶¯Ì¬¼ÓÔØDLLÐèҪʹÓÃWindows APIº¯Êý£ºLoadLibrary¡¢GetProcAddressÒÔ¼°FreeLibrary¡£ÎÒÃÇ¿ÉÒÔʹÓÃDllImportÔÚC#ÖÐʹÓÃÕâÈý¸öº¯Êý¡£
[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);
[DllImport("Kernel32")]
public static extern int L ......
1 ´´½¨C# DLL£¬ÐèÒªÖ¸¶¨Ó¦ÓÃÀàÐÍΪ“Àà¿â”£¬´úÂ룺
namespace CSLib
{
public class Class1
{
private string name;
public string Name
......
ÄÚ´æ¿ØÖÆÆª
calloc
free
getpagesize
malloc
mmap
munmap
calloc£¨ÅäÖÃÄÚ´æ¿Õ¼ä£©
Ïà¹Øº¯Êý
malloc£¬free£¬realloc£¬brk
±íÍ·Îļþ
#include <stdlib.h>
¶¨Ò庯Êý
void *calloc(size_t nmemb£¬size_t size);
º¯Êý˵Ã÷
calloc()ÓÃÀ´ÅäÖÃnmemb¸öÏàÁÚµÄÄڴ浥λ£¬Ã¿Ò»µ¥Î»µÄ´óСΪsize£¬²¢·µ»ØÖ¸ÏòµÚ ......