LinuxϵͳÏÂCÓïÑÔ±à³Ì»ù´¡ÖªÊ¶½éÉÜ
ÕâÆªÎÄÕ½éÉÜÔÚLINUXϽøÐÐCÓïÑÔ±à³ÌËùÐèÒªµÄ»ù´¡ÖªÊ¶.ÔÚÕâÆªÎÄÕµ±ÖÐ,ÎÒÃǽ«»áѧµ½ÒÔÏÂÄÚÈÝ:
Ô´³ÌÐò±àÒë
MakefileµÄ±àд
³ÌÐò¿âµÄÁ´½Ó
³ÌÐòµÄµ÷ÊÔ
Í·ÎļþºÍϵͳÇóÖú
1.Ô´³ÌÐòµÄ±àÒë
ÔÚLinuxÏÂÃæ,Èç¹ûÒª±àÒëÒ»¸öCÓïÑÔÔ´³ÌÐò,ÎÒÃÇҪʹÓÃGNUµÄgcc±àÒëÆ÷. ÏÂÃæÎÒÃÇÒÔÒ»¸öʵÀýÀ´ËµÃ÷ÈçºÎʹÓÃgcc±àÒëÆ÷.
¼ÙÉèÎÒÃÇÓÐÏÂÃæÒ»¸ö·Ç³£¼òµ¥µÄÔ´³ÌÐò(hello.c):
int main(int argc,char **argv)
{
printf( " "Hello Linux " ");
}
Òª±àÒëÕâ¸ö³ÌÐò,ÎÒÃÇÖ»ÒªÔÚÃüÁîÐÐÏÂÖ´ÐÐ:
gcc -o hello hello.c
gcc ±àÒëÆ÷¾Í»áΪÎÒÃÇÉú³ÉÒ»¸öhelloµÄ¿ÉÖ´ÐÐÎļþ.Ö´ÐÐ./hello¾Í¿ÉÒÔ¿´µ½³ÌÐòµÄÊä³ö½á¹ûÁË.ÃüÁîÐÐÖÐ gcc±íʾÎÒÃÇÊÇÓÃgccÀ´±àÒëÎÒÃǵÄÔ´³ÌÐò,-o Ñ¡Ïî±íʾÎÒÃÇÒªÇó±àÒëÆ÷¸øÎÒÃÇÊä³öµÄ¿ÉÖ´ÐÐÎļþÃûΪhello ¶øhello.cÊÇÎÒÃǵÄÔ´³ÌÐòÎļþ.
gcc±àÒëÆ÷ÓÐÐí¶àÑ¡Ïî,Ò»°ãÀ´ËµÎÒÃÇÖ»ÒªÖªµÀÆäÖеö¾Í¹»ÁË. -oÑ¡ÏîÎÒÃÇÒѾ֪µÀÁË,±íʾÎÒÃÇÒªÇóÊä³öµÄ¿ÉÖ´ÐÐÎļþÃû. -cÑ¡Ïî±íʾÎÒÃÇÖ»ÒªÇó±àÒëÆ÷Êä³öÄ¿±ê´úÂë,¶ø²»±ØÒªÊä³ö¿ÉÖ´ÐÐÎļþ. -gÑ¡Ïî±íʾÎÒÃÇÒªÇó±àÒëÆ÷ÔÚ±àÒëµÄʱºòÌṩÎÒÃÇÒÔºó¶Ô³ÌÐò½øÐе÷ÊÔµÄÐÅÏ¢.
ÖªµÀÁËÕâÈý¸öÑ¡Ïî,ÎÒÃǾͿÉÒÔ±àÒëÎÒÃÇ×Ô¼ºËùдµÄ¼òµ¥µÄÔ´³ÌÐòÁË,Èç¹ûÄãÏëÒªÖªµÀ¸ü¶àµÄÑ¡Ïî,¿ÉÒԲ鿴gccµÄ°ïÖúÎĵµ,ÄÇÀïÓÐ×ÅÐí¶à¶ÔÆäËüÑ¡ÏîµÄÏêϸ˵Ã÷.
2.MakefileµÄ±àд
¼ÙÉèÎÒÃÇÓÐÏÂÃæÕâÑùµÄÒ»¸ö³ÌÐò,Ô´´úÂëÈçÏÂ:
/* main.c */
#include " "mytool1.h " "
#include " "mytool2.h " "
int main(int argc,char **argv)
{
mytool1_print( " "hello " ");
mytool2_print( " "hello " ");
}
/* mytool1.h */
#ifndef _MYTOOL_1_H
#define _MYTOOL_1_H
void mytool1_print(char *print_str);
#endif
/* mytool1.c */
#include " "mytool1.h " "
void mytool1_print(char *print_str)
{
printf( " "This is mytool1 print %s " ",print_str);
}
/* mytool2.h */
Ïà¹ØÎĵµ£º
1¡¢ÏÂÔØMySQLµÄ°²×°Îļþ
°²×°MySQLÐèÒªÏÂÃæÁ½¸öÎļþ£º
MySQL-server-5.0.46.i386.rpm¡¡¡¡¡¡
MySQL-client-5.0.46.i386.rpm
2¡¢°²×°MySQL
rpmÎļþÊÇRed Hat¹«Ë¾¿ª·¢µÄÈí¼þ°²×°°ü£¬rpm¿ÉÈÃLinuxÔÚ°²×°Èí¼þ°üʱÃâ³ýÐí¶à¸´ÔÓµÄÊÖÐø¡£¸ÃÃüÁîÔÚ°²×°Ê±³£ÓõIJÎÊýÊÇ
ivh
,ÆäÖÐi±íʾ½«°²×°Ö¸¶¨µÄrmpÈí¼þ°ü£¬V±í ......
Ò»£¬²»Í¬¹Ø¼ü×Ö£¬ÏµÍ³Ñ¹Õ»·½Ê½
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¹Ø¼ü×Ö˵Ã÷£©°´´ÓÓÒÖÁ×óµÄ˳Ðòѹ² ......
ʹÓà gcc ÔÚ ubuntu Ï ±àÒë Ò»¸ö C³ÌÐò £º
µÚÒ»²½Ö裺´ò¿ª ÖÐ¶Ë £¨Õâ¸ö ÖªµÀ°É£¿£©
ÊäÈë sudo gedit no.c (no.cΪCÎļþÃû×Ö)
sudo ±íʾÄãÊäÈë ......
C/C++´«µÝ¶þάÊý×é - [IT×ÊÁÏ]
//cÓïÑÔÖо³£ÐèҪͨ¹ýº¯Êý´«µÝ¶þάÊý×飬ÓÐÈýÖÖ·½·¨¿ÉÒÔʵÏÖ£¬ÈçÏ£º
//·½·¨Ò»£¬ Ðβθø³öµÚ¶þάµÄ³¤¶È¡£
#include <stdio.h>
void func(int n, char str[][5])
{
int i;
& ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
ʲôÊÇ
GNU/Linux
£¿Ê²Ã´ÊÇÕæÕýµÄ×ÀÃæ
Linux
£¿ÕâЩÎÊÌ⣬ÎÒÃDZØÐë¸ãÇå³þ£¬ËµÃ÷°×¡£×ÀÃæ
Linux
²»ÄÜÔÙÕÐÒ¡¹ýÊкöÓÆÈËÁË¡£
Àú ......