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 */
Ïà¹ØÎĵµ£º
MySQL :: Linux ÏÂ×Ô¶¯±¸·ÝÊý¾Ý¿âµÄ shell ½Å±¾
Linux ·þÎñÆ÷ÉϵijÌÐòÿÌì¶¼ÔÚ¸üРMySQL Êý¾Ý¿â£¬ÓÚÊǾÍÏëÆðдһ¸ö shell ½Å±¾£¬½áºÏ crontab£¬¶¨Ê±±¸·ÝÊý¾Ý¿â¡£Æäʵ·Ç³£¼òµ¥£¬Ö÷Òª¾ÍÊÇʹÓà MySQL ×Ô´øµÄ mysqldump ÃüÁî¡£
½Å±¾ÄÚÈÝÈçÏ£º
#!/bin/sh
# File: /home/mysql/backup.sh
# Database info
DB_NAME=" ......
°²×°mysql
sudo apt-get install mysql-servel-5.0 mysql-client-5.0
ÏÂÔØ°²×°¹ý³ÌÖУ¬»áÌáʾÊäÈërootÃÜÂë
°²×°CÓïÑÔ±à³Ì½Ó¿Ú£º
sudo apt-get install libmysqlclient15-dev
¸ü¶àapi ²é¿´£ºhttp://dev.mysql.com/doc/refman/5.0/en/c.html
Ïà¹ØmysqlÍ·ÎļþºÍ¿âÎļþ°²×°ÔÚ/usr/include/mysql/ºÍ/usr/lib/mysqlÄ¿ ......
MYSQL°²×°
//½âѹ±àÒë°²×°
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.confÎļþÐÞ¸Ä
# vi my.cnf
ÐÞ¸Äǰ£º
port &nb ......
Ò»£¬²»Í¬¹Ø¼ü×Ö£¬ÏµÍ³Ñ¹Õ»·½Ê½
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¹Ø¼ü×Ö˵Ã÷£©°´´ÓÓÒÖÁ×óµÄ˳Ðòѹ² ......