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

Linux GCC makeÎļþµÄд·¨ ×ܽá°æ

Ŀ¼½á¹¹Îª£º
inc/hello.h
src/hello.c
main/main.c
Makefile
ÎļþÄÚÈÝΪ£º
hello.h:
void hello(char name[]);

hello.c:
#include <stdio.h>
void hello(char name[])
{
printf("Hello %s!\n", name);
}

main.c:
#include <stdio.h>
#include "hello.h"
// The second hello.h should in ""
int main()
{
hello("GCC");
printf("Haha Linux Ubuntu!\n");
return 0;
}

Makefile:
# String declaration
objects = main.o hello.o
# Command
app : $(objects)
cc -o app $(objects)
main.o : main.c hello.h stdio.h
cc -c $< -I ./inc
hello.o : hello.c stdio.h
cc -c $<
# Search paths
vpath %.h /usr/include : inc
vpath %.c main : src
# Clean the intermediate files
.PHONY : clean
clean :
rm app *~ $(objects)

Ê×ÏÈ£¬ÐèÒªÃ÷È·Ò»µã£¬ÕâÀïÃæÓÐÁ½¸öÖ´ÐгÌÐò£¬Ò»¸ömake£¬Ò»¸ögcc£¬ÔÚMakefileÀïÕâÁ½¸öµÄÓï¾äÒ²ÊÇ·Ö±ðÕ¼1Ðеġ£
ÕâÀï×îÖ÷ÒªµÄÊÇ·¾¶µÄÎÊÌ⣬ÒòΪ²»Í¬µÄÎļþÔÚ²»Í¬µÄĿ¼ÏÂÃ棬ËùÒÔÒª¸æËß³ÌÐòÎļþËùÔڵķ¾¶£¬¶øÓÖÓÐÁ½¸ö³ÌÐòÐèÒª¸æÖª£¬¶øÁ½¸ö³ÌÐò¸æÖªµÄ·½Ê½ÓÖ²»Í¬£¬ËùÒÔÕâ¸öÎÊÌâÒ»¿ªÊ¼À§ÈÅÁËÎҺþã¬ÔںöàºÃÐÄÈ˵İïÖúÏ£¬ÖÕÓÚÃ÷°×ÁËÒ»µã¡£
makeµÄËÑË÷·¾¶ÉèÖ÷½Ê½Îª£ºvpath»òVPATH£¬Õâ¸öÔÚÐí¶à×ÊÁÏÀﶼ½²¹ý£¬¶øÇÒÕâ¸öÊÇËùÓÐÎļþ¶¼¿ÉÒÔÉèÖõģ¬.c, .h»¹ÓÐÆäËüµÄ¶¼¿ÉÒÔ¡£
gccµÄËÑË÷·¾¶ÉèÖ÷½Ê½Îª£¨Õâ¸öÓ¦¸ÃÊÇÖ»ÄÜÉèÖÃÍ·ÎļþµÄËÑË÷·¾¶£¬ÒòΪÊÇinclude£©£º-I inc£¬
¶ø.cÎļþµÄËÑË÷·¾¶Ëƺõ²»ÄÜÉèÖ㬶øÖ»ÄÜÔÚcc -c path/%.cÖÐÏÔʾµÄд³ö£¬¸öÈËÕâôÀí½â¡£
¶øÓÐÒ»ÖÖ·½Ê½ÊÇ¿ÉÒÔ²»ÓÃÏÔʾµÄд³öµÄ£¬¶øÇÒÒ²²»Óðɣ¬%.cҲд³ö£¬¾ÍÊÇÓÃmakeµÄ×Ô¶¯»¯±äÁ¿¡£
“$<”ºÍ“$@”ÔòÊÇ×Ô¶¯»¯±äÁ¿£¬“$<”±íʾËùÓеÄÒÀÀµÄ¿±ê¼¯£¨%.c£©£¬“$@”±íʾĿ±ê¼¯£¨%.o£©¡£
(ÊÇmakeµÄ±äÁ¿£¬ÎļþÔÚµ±Ç°Ä¿Â¼Ã»ÓÐÕÒµ½µÄ»°£¬»á×Ô¶¯ËÑË÷vpathÖÐÉèÖõÄ·¾¶£¬Èç¹û²»ÓÃÕâ¸öÄÇôÈç¹û.cÔÚ²»ÔÚµ±Ç°Ä¿Â¼Ï£¬-cºóÃæÒªÖ¸Ã÷Ŀ¼λÖã¬ÓÃÕâ¸öºó£¬¿ÉÒÔÔÚvpathÖÐÖ¸Ã÷¼´¿É£©
ÒòΪÊÇmakeµÄ±äÁ¿£¬ËùÒÔÓÃvpathÉèÖõÄmakeµÄ·¾¶ÔÚÕâÀïÃæ¾ÍÆð×÷ÓÃÁË£¬²»ÓÃÔÙÏÔʾµÄÖ¸Ã÷.cµÄ·¾¶ÁË¡£¶øÇÒÕâÑùдÆðÀ´£¬¸ü¼ò½à¡£
×î½üÔÚ¿´¡¶ÉîÈëÀí½â¼ÆËã»úϵͳ¡·ÍøÉÏÏÂÔصĴúÂ붼ÊÇÔÚLinuxÉÏÅܵģ¬ºÇºÇ£¬ËùÒÔµÃ×Ô¼ºÐ´Makefile£¬ËùÒÔ£¬Ñо¿ÁËһϣ¬ÖÕÓÚÕûÃ÷°


Ïà¹ØÎĵµ£º

LINUX FREEBSD Îļþϵͳ½á¹¹


Linux
/ LinuxÎļþϵͳµÄÈë¿Ú£¬Ò²ÊÇ´¦ÓÚ×î¸ßÒ»¼¶µÄĿ¼£»
/bin »ù´¡ÏµÍ³ËùÐèÒªµÄÄÇЩÃüÁîλÓÚ´ËĿ¼£¬Ò²ÊÇ×îСϵͳËùÐèÒªµÄÃüÁ±ÈÈç ls¡¢cp¡¢mkdirµÈÃüÁ¹¦ÄܺÍ/usr/binÀàËÆ£¬Õâ¸öĿ¼ÖеÄÎļþ¶¼ÊÇ¿ÉÖ´Ðеģ¬ÆÕͨÓû§¶¼¿ÉÒÔʹÓõÄÃüÁî¡£×öΪ»ù´¡ÏµÍ³ËùÐèÒªµÄ×î»ù´¡µÄÃüÁî¾ÍÊÇ·ÅÔÚÕâÀï¡£
/boot LinuxµÄÄں˼°Òýµ¼Ïµ ......

LinuxϵͳÏÂÐÞ¸ÄMySQLµÄrootÃÜÂë

µÚÒ»ÖÖ·½·¨£º
rootÓû§µÇ¼ϵͳ
usr/local/mysql/bin/mysqladmin -u root -p password ÐÂÃÜÂë
enter password ¾ÉÃÜÂë
µÚ¶þÖÖ·½·¨£º
rootÓû§µÇ¼mysqlÊý¾Ý¿â
mysql> update mysql.user set password=password("ÐÂÃÜÂë")where User="root";
mysql> flush privileges;
mysql> quit ;
mysqlÍü¼ÇrootÃÜÂëÈçºÎ ......

googleÔõÑùʹÓÃlinux£¨Äںˣ©


googleÔõÑùʹÓÃlinux£¨Äںˣ©
½ñÄêµÄlinuxÄں˿ª·¢´ó»áÉÏ£¬googleµÄ¿ª·¢ÈËÔ±Ò²ÉĮ̈×öÁËÃûΪ“how google use linux"µÄÑݽ²¡£ÎÒ¶·µ¨·­Òë×¢½âÒ»·¬——À¨ºÅÄÚΪע½â£¬»¶Ó­¶ÁÕ߸«Õý¡£
£¨Ç°Ã漸¶Î½²google¶Ôlinux kernel´úÂëµÄ¹ÜÀí¼°¸ú½ø£¬Æ«Ï¸Ë飬²»·­ÒëÁË£©
ÔÚgoogleΪlinux¼ÓÈëµÄ´úÂëÖУ¬3/4ÊǶÔÄں˺ËÐÄ ......

redhat linux 9.0ÏÂLAMPµÄ°²×°ÓëÅäÖÃ

Ê×ÏÈ,·þÎñÆ÷GCCÒªÓÐ,²»È»Ê²Ã´¶¼²»ÄÜ×ö.Äܹ»ÓÃgcc -vÀ´²é¿´ÊÇ·ñ°²×°ÁËGCC,
#gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checki ......

Linux ÄÚºËWorkQueueÔĶÁ±Ê¼Ç


1.            Workqueue
WorkqueueµÄÃû×־ͺÍËûµÄ¹¦ÄÜÒ»Ñù£ºÐèÒª´¦ÀíµÄ¹¤×÷ÁбíºÍ¹¤×÷µÄÌí¼Óɾ³ý£¨Ã²ËÆûÓп´µ½ÈçºÎɾ³ýµÄ£©¡¢ÒÔ¼°¹¤×÷µÄµ÷¶ÈÖ´ÐС£
ÐèÒª´¦ÀíµÄ¹¤×÷Áбíͨ³£¶¼Î¬»¤ÔÚÄں˶ÔÏóworkqueue_structÀïÃ档ϵͳÀïÃæ¿ÉÒÔÓжà¸öworkqueue_struct¡£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ