Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

c±àÒëÈ«¹ý³Ì

CÓïÑÔ±àÒëÈ«¹ý³Ì
    ±àÒëµÄ¸ÅÄ±àÒë³ÌÐò¶ÁȡԴ³ÌÐò£¨×Ö·ûÁ÷£©£¬¶ÔÖ®½øÐдʷ¨ºÍÓï·¨µÄ·ÖÎö£¬½«¸ß¼¶ÓïÑÔÖ¸Áîת»»Îª¹¦ÄܵÈЧµÄ»ã±à´úÂ룬ÔÙÓÉ»ã±à³ÌÐòת»»Îª»úÆ÷ÓïÑÔ£¬²¢ÇÒ°´ÕÕ²Ù×÷ϵͳ¶Ô¿ÉÖ´ÐÐÎļþ¸ñʽµÄÒªÇóÁ´½ÓÉú³É¿ÉÖ´ÐгÌÐò¡£
    ±àÒëµÄÍêÕû¹ý³Ì£ºCÔ´³ÌÐò£­£­>Ô¤±àÒë´¦Àí(.c)£­£­>±àÒë¡¢ÓÅ»¯³ÌÐò£¨.s¡¢.asm£©£­£­>»ã±à³ÌÐò(.obj¡¢.o¡¢.a¡¢.ko)£­£­>Á´½Ó³ÌÐò£¨.exe¡¢.elf¡¢.axfµÈ£©
1. ±àÒëÔ¤´¦Àí
    ¶ÁÈ¡cÔ´³ÌÐò£¬¶ÔÆäÖеÄαָÁÒÔ#¿ªÍ·µÄÖ¸ÁºÍÌØÊâ·ûºÅ½øÐд¦Àí
αָÁîÖ÷Òª°üÀ¨ÒÔÏÂËĸö·½Ã棺
 £¨1£©ºê¶¨ÒåÖ¸ÁÈç#define Name TokenString£¬#undefµÈ¡£
¶ÔÓÚǰһ¸öαָÁԤ±àÒëËùÒª×öµÄÊǽ«³ÌÐòÖеÄËùÓÐNameÓÃTokenStringÌæ»»£¬µ«×÷Ϊ×Ö·û´®³£Á¿µÄ NameÔò²»±»Ìæ»»¡£¶ÔÓÚºóÕߣ¬Ôò½«È¡Ïû¶Ôij¸öºêµÄ¶¨Ò壬ʹÒÔºó¸Ã´®µÄ³öÏÖ²»ÔÙ±»Ìæ»»¡£
 £¨2£©Ìõ¼þ±àÒëÖ¸ÁÈç#ifdef£¬#ifndef£¬#else£¬#elif£¬#endifµÈ¡£
ÕâЩαָÁîµÄÒýÈëʹµÃ³ÌÐòÔ±¿ÉÒÔͨ¹ý¶¨Ò岻ͬµÄºêÀ´¾ö¶¨±àÒë³ÌÐò¶ÔÄÄЩ´úÂë½øÐд¦Àí¡£Ô¤±àÒë³ÌÐò½«¸ù¾ÝÓйصÄÎļþ£¬½«ÄÇЩ²»±ØÒªµÄ´úÂë¹ýÂ˵ô
 £¨3£© Í·Îļþ°üº¬Ö¸ÁÈç#include "FileName"»òÕß#include <FileName>µÈ¡£
ÔÚÍ·ÎļþÖÐÒ»°ãÓÃαָÁî#define¶¨ÒåÁË´óÁ¿µÄºê£¨×î³£¼ûµÄÊÇ×Ö·û³£Á¿£©£¬Í¬Ê±°üº¬Óи÷ÖÖÍⲿ·ûºÅµÄÉùÃ÷¡£
    ²ÉÓÃÍ·ÎļþµÄÄ¿µÄÖ÷ÒªÊÇΪÁËʹijЩ¶¨Òå¿ÉÒÔ¹©¶à¸ö²»Í¬µÄCÔ´³ÌÐòʹÓá£ÒòΪÔÚÐèÒªÓõ½ÕâЩ¶¨ÒåµÄCÔ´³ÌÐòÖУ¬Ö»Ðè¼ÓÉÏÒ»Ìõ#includeÓï¾ä¼´¿É£¬¶ø²»±ØÔÙÔÚ´ËÎļþÖн«ÕâЩ¶¨ÒåÖØ¸´Ò»±é¡£Ô¤±àÒë³ÌÐò½«°ÑÍ·ÎļþÖе͍Òåͳͳ¶¼¼ÓÈëµ½ËüËù²úÉúµÄÊä³öÎļþÖУ¬ÒÔ¹©±àÒë³ÌÐò¶ÔÖ®½øÐд¦Àí¡£
    °üº¬µ½cÔ´³ÌÐòÖеÄÍ·Îļþ¿ÉÒÔÊÇϵͳÌṩµÄ£¬ÕâЩͷÎļþÒ»°ã±»·ÅÔÚ/usr/includeĿ¼Ï¡£ÔÚ³ÌÐòÖÐ#includeËüÃÇҪʹÓüâÀ¨ºÅ£¨< >£©¡£ÁíÍ⿪·¢ÈËÔ±Ò²¿ÉÒÔ¶¨Òå×Ô¼ºµÄÍ·Îļþ£¬ÕâЩÎļþÒ»°ãÓëcÔ´³ÌÐò·ÅÔÚͬһĿ¼Ï£¬´ËʱÔÚ#includeÖÐÒªÓÃË«ÒýºÅ£¨""£©¡£
 £¨4£©ÌØÊâ·ûºÅ£¬Ô¤±àÒë³ÌÐò¿ÉÒÔʶ±ðÒ»Ð©ÌØÊâµÄ·ûºÅ¡£
ÀýÈçÔÚÔ´³ÌÐòÖгöÏÖµÄLINE±êʶ½«±»½âÊÍΪµ±Ç°Ðкţ¨Ê®½øÖÆÊý£©£¬FILEÔò±»½âÊÍΪµ±Ç°±»±àÒëµÄCÔ´³ÌÐòµÄÃû³Æ¡£Ô¤±àÒë³ÌÐò¶ÔÓÚÔÚÔ´³ÌÐòÖгöÏÖµÄÕâЩ´®½«ÓúÏÊʵÄÖµ½øÐÐÌæ»»¡£
   Ô¤±àÒë³ÌÐòËùÍê³ÉµÄ»ù±¾ÉÏÊǶÔÔ´³ÌÐòµÄ“Ìæ´ú”¹¤×÷¡£¾­¹ý´ËÖÖÌæ´ú£¬Éú³ÉÒ»¸öÃ


Ïà¹ØÎĵµ£º

¼¸ÖÖC/C++µÄº¯Êýѹջ·½Ê½

Ò»£¬²»Í¬¹Ø¼ü×Ö£¬ÏµÍ³Ñ¹Õ»·½Ê½
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¹Ø¼ü×Ö˵Ã÷£©°´´ÓÓÒÖÁ×óµÄ˳Ðòѹ² ......

C/C++/Java forÓï¾ä¹æ·¶Ð´·¨Ç³Îö(¶þÖØ¼°ÒÔÉÏÑ­»·)

 ¾Ù¸ö¼òµ¥Àý×Ó£ºÓöþÖØÑ­»·Êä³ö1-100 Êý×Ö£»
 µ±È»ÎÒÕâÀïÊǾÙÀý×ÓÕë¶Ô¶þÖØ¼°ÒÔÉϵÄÑ­»·£¬
ÍêÈ«¿ÉÒÔʹÓõ¥Ñ­»·£¬ÓÚÊDZã·É¿ìµÄÍê³ÉÁËÒÔÏÂ
 ´úÂ룺
  ÈçϾÍÓÃC/C++¾ÙÀý¡£
 C++´úÂë(VS2008):
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(in ......

C ÓïÑÔÊý¾Ý¶ÔÆë

#include <stdio.h>    
struct Foo1
{
   char a;
   int  b;
   char c;
   int  d;
};
#pragma pack (2)
struct Foo2
{
   char a;
   int  b;
   char c;
   int  d; ......

LinuxϵͳÏÂCÓïÑÔ±à³Ì»ù´¡ÖªÊ¶½éÉÜ

ÕâÆªÎÄÕ½éÉÜÔÚLINUXϽøÐÐCÓïÑÔ±à³ÌËùÐèÒªµÄ»ù´¡ÖªÊ¶.ÔÚÕâÆªÎÄÕµ±ÖÐ,ÎÒÃǽ«»áѧµ½ÒÔÏÂÄÚÈÝ:  
Ô´³ÌÐò±àÒë  
MakefileµÄ±àд  
³ÌÐò¿âµÄÁ´½Ó  
³ÌÐòµÄµ÷ÊÔ  
Í·ÎļþºÍϵͳÇóÖú  
1.Ô´³ÌÐòµÄ±àÒë  
ÔÚLinuxÏÂÃæ,Èç¹ûÒª±àÒëÒ»¸öCÓïÑÔÔ´³ÌÐò,ÎÒÃÇҪʹÓÃGNUµÄgcc±àÒëÆ÷. &nb ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ