c/c++µÄ֪ʶµãÊÕ¼¯
1.¶¯Ì¬»ñµÃÄÚ´æµÄ´úÂë:
void GetMemory(char **p, int num)
{
*p = (char *)malloc(sizeof(char) * num);
}
char* GetMemory2(int num)
{
char* p = (char *)malloc(sizeof(char) * num);
return p;
}
------------------------------------------
´íÎóµÄ´úÂë:
void GetMemory3(char *p, int num)
{
p = (char *)malloc(sizeof(char) * num);
}///////////////´íÎóÔÚÄÄÀï,ÎҾͲ»Ëµ,×Ô¼ºÈ¥²é.
2.strcpy()µÄ´úÂë:
char* strcpy(char* strDest,const char* strSrc)
{
if(strDest==NULL || strSrc==NULL) return NULL;
char* pStr=strDest;
while((*strDest++=*strSrc++)!='\0)
NULL;
return pStr;
}
3.memcpy()µÄ´úÂë:
void* memcpy(char* strDest,const char* strSrc,size_t size)
{
if(strDest==NULL||strSrc==NULL) return NULL;
if(size <=0) return NULL;
char* pStr=strDest;
while(size-->0)
*strDest++=*strSrc++;
return pStr;
}
4.¹ØÓÚsizeof²Ù×÷·û:
char 1
short 2
short int 2
signed short 2
unsigned short 2
int 4
long
Ïà¹ØÎĵµ£º
ÕâÆªÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»Ê¹Óõ½¡£¾¡¹ÜÓÐÕâ ......
1. java ÊÇÔËÐÐÔÚjvmÉϵģ¬Ö®ËùÒÔ˵ËüµÄ¿ÉÒÆÖ²ÐÔÇ¿£¬ÊÇÒòΪjvm¿ÉÒÔ°²×°µ½ÈκεÄϵͳ
c++²»ÊDz»ÄÜÔÚÆäËûϵͳÔËÐУ¬¶øÊÇc++ÔÚ²»Í¬µÄϵͳÉÏÔËÐУ¬ÐèÒª²»Í¬µÄ±àÂ루ÕâÒ»µã²»Èçjava£¬Ö»±àдһ´Î´úÂ룬µ½´¦ÔËÐУ©
2. java ÔÚweb Ó¦ÓÃÉϾßÓÐc++ Î޿ɱÈÄâµÄÓÅÊÆ
3. javaÔÚ×ÀÃæ³ÌÐòÉϲ»Èç ......
Ò»£¬²»Í¬¹Ø¼ü×Ö£¬ÏµÍ³Ñ¹Õ»·½Ê½
1£¬Èç¹ûº¯ÊýfuncÊÇ__cdecl(VCϵÄĬÈϵ÷Ó÷½Ê½)£¬µ÷ÓÃʱÇé¿öÈçÏÂ
int main()
{
//²ÎÊý´ÓÓÒµ½×óѹջ
push 4
push 3
push 2
push 1
call func
add esp 0x10 //µ÷ÓÃÕ߻ָ´¶ÑÕ»Ö¸Õëesp£¬4¸ö²ÎÊýµÄ´óСÊÇ0x10(4x4)
}
Cµ÷ÓÃÔ¼¶¨£¨¼´ÓÃ__cdecl¹Ø¼ü×Ö˵Ã÷£©°´´ÓÓÒÖÁ×óµÄ˳Ðòѹ² ......
¾Ù¸ö¼òµ¥Àý×Ó£ºÓöþÖØÑ»·Êä³ö1-100 Êý×Ö£»
µ±È»ÎÒÕâÀïÊǾÙÀý×ÓÕë¶Ô¶þÖØ¼°ÒÔÉϵÄÑ»·£¬
ÍêÈ«¿ÉÒÔʹÓõ¥Ñ»·£¬ÓÚÊDZã·É¿ìµÄÍê³ÉÁËÒÔÏÂ
´úÂ룺
ÈçϾÍÓÃC/C++¾ÙÀý¡£
C++´úÂë(VS2008):
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(in ......