ubuntu ϵĵÚÒ»¸öC³ÌÐò
ʹÓà gcc ÔÚ ubuntu Ï ±àÒë Ò»¸ö C³ÌÐò £º
µÚÒ»²½Ö裺´ò¿ª ÖÐ¶Ë £¨Õâ¸ö ÖªµÀ°É£¿£©
ÊäÈë sudo gedit no.c (no.cΪCÎļþÃû×Ö)
sudo ±íʾÄãÊäÈëµÄÃüÁî¾ßÓйÜÀíԱȨÏÞ
gedit ±íʾÄãÒª±à¼Ò»¸öÎļþ
on.c¾ÍÊÇÄãÒª±à¼µÄÎļþÁËŶ£¬Èç¹û¸ÃÎļþ²»´æÔÚ£¬ÏµÍ³»áн¨Ò»¸öÎļþµÄ
µÚ¶þ²½Ö裺ÊäÈëC´úÂë²¢±£´æ£¨²»ÒªÓÐÓï·¨´íÎóŶ£©
µÚÈý²½Ö裺ÊäÈë sudo gcc -o no no.c ÕâÑù¾Í»á½øÐбàÒ룬Èç¹û±àÒë³É¹¦Á˾ͽøÐÐÏÂÒ»²½£¬·ñÔò¼ì²é
ÄãµÄ´úÂëÊÇ·ñÓÐ´í £»sudo µÄÒâ˼ºÍÉÏÃæÒ»Ñù ; gccÊDZíʾÓÃGCC±àÒëÆ÷±àÒë ; £o ÊÇÉú³ÉÄ¿±ê
Îļþ £»no ÊÇÄãÒªÉù³ÆµÄÄ¿±êÎļþµÄÃû×Ö£»no.cÊÇÔ´Îļþ£¨¾ÍÊÇÓÃÀ´Éù³ÆÄ¿±êÎļþµÄÔ´Îļþ£©
µÚËIJ½Ö裺Èç¹ûûÓдíÎó£¬Ö´ÐÐ ÕâÒ»¸ö²½Ö裺 ./no ±íʾÔËÐбàÒëºÃµÄÎļþ
ºÃÁË£¬ÒÔÉ϶¼ÊÇÎÒ³õѧ UBUNTUµÄÐĵà ÈçÓÐÀí½â²»¶ÔµÄ£¬ÇëÖ¸³öŶ £¡
Ïà¹ØÎĵµ£º
¡¾³ÌÐò1¡¿
ÌâÄ¿£ºÓÐ1¡¢2¡¢3¡¢4¸öÊý×Ö£¬ÄÜ×é³É¶àÉÙ¸ö»¥²»ÏàͬÇÒÎÞÖØ¸´Êý×ÖµÄÈýλÊý£¿¶¼ÊǶàÉÙ
£¿
1.³ÌÐò·ÖÎö£º¿ÉÌîÔÚ°Ùλ¡¢Ê®Î»¡¢¸öλµÄÊý×Ö¶¼ÊÇ1¡¢2¡¢3¡¢4¡£×é³ÉËùÓеÄÅÅÁкóÔÙÈ¥
¡¡¡¡¡¡¡¡¡¡¡¡µô²»Âú×ãÌõ¼þµÄÅÅÁС£
2.³ÌÐòÔ´´úÂ룺
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++)¡¡¡¡¡¡¡¡£¯*ÒÔÏ ......
ÔÚC/C++ÖУ¬ÄÚ´æÖÐÊý¾Ý´æ´¢·Ö³É4¸öÇø£¬·Ö±ðÊǶѡ¢Õ»¡¢È«¾Ö/¾²Ì¬´æ´¢ÇøºÍ³£Á¿´æ´¢Çø¡£
Õ»(stack)£¬¾ÍÊÇÄÇЩÓɱàÒëÆ÷ÔÚÐèÒªµÄʱºò·ÖÅ䣬ÔÚ²»ÐèÒªµÄʱºò×Ô¶¯Çå³ýµÄ±äÁ¿µÄ´æ´¢Çø¡£ÀïÃæµÄ±äÁ¿Í¨³£ÊǾֲ¿±äÁ¿¡¢º¯Êý²ÎÊýµÈ¡£
¶Ñ(heap)£¬Ò»°ãÓ ......
Ò»£¬²»Í¬¹Ø¼ü×Ö£¬ÏµÍ³Ñ¹Õ»·½Ê½
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¹Ø¼ü×Ö˵Ã÷£©°´´ÓÓÒÖÁ×óµÄ˳Ðòѹ² ......