linuxÏÂCÓïÑÔ¶àÏ̱߳à³ÌʵÀý
ѧ¶«Î÷£¬ÍùÍùʵÀý²ÅÊÇ×îÈÃÈ˸ÐÐËȤµÄ£¬ÀÏÊÇѧ»ù´¡ÀíÂÛ£¬²»¶¯ÊÖ£¬¸Ð¾õûÓгɾ͸У¬ºÇºÇ¡£
ÏÂÃæÏÈÀ´Ò»¸öʵÀý¡£ÎÒÃÇͨ¹ý´´½¨Á½¸öÏß³ÌÀ´ÊµÏÖ¶ÔÒ»¸öÊýµÄµÝ¼Ó¡£
»òÐíÕâ¸öʵÀýûÓÐʵ¼ÊÔËÓõļÛÖµ£¬µ«ÊÇÉÔ΢¸Ä¶¯Ò»Ï£¬ÎÒÃǾͿÉÒÔÓõ½ÆäËûµØ·½È¥À¡£
ÏÂÃæÊÇÎÒÃǵĴúÂ룺
/*thread_example.c : c multiple thread programming in linux
*author : falcon
*E-mail : tunzhj03@st.lzu.edu.cn
*/
#include <pthread.h>
#include <stdio.h>
#include <sys/time.h>
#include <string.h>
#define MAX 10
pthread_t thread[2];
pthread_mutex_t mut;
int number=0, i;
void *thread1()
{
printf ("thread1 : I'm thread 1\n");
for (i = 0; i < MAX; i++)
{
printf("thread1 : number = %d\n",number);
pthread_mutex_lock(&mut);
number++;
pthread_mutex_unlock(&mut);
sleep(2);
}
printf("thread1 :Ö÷º¯ÊýÔÚµÈÎÒÍê³ÉÈÎÎñÂð£¿\n");
pthread_exit(NULL);
}
void *thread2()
{
printf("thread2 : I'm thread 2\n");
for (i = 0; i < MAX; i++)
{
printf("thread2 : number = %d\n",number);
pthread_mutex_lock(&mut);
number++;
pthread_mutex_unlock(&mut);
sleep(3);
}
printf("thread2 :Ö÷º¯ÊýÔÚµÈÎÒÍê³ÉÈÎÎñÂð£¿\n");
pthread_exit(NULL);
}
void thread_create(void)
{
int temp;
memset(&thread, 0, sizeof(thread)); //comment1
/*´´½¨Ïß³Ì*/
if((temp = pthread_create(&thread[0], NULL, thread1, NULL)) != 0) //comment2
printf("Ïß³Ì1´´½¨Ê§°Ü!\n");
else
printf("Ïß³Ì1±»´´½¨\n");
if((temp = pthread_create(&thread[1], NULL, thread2, NULL)) != 0) //comment3
printf("Ïß³Ì2´´½¨Ê§°Ü");
else
printf("Ïß³Ì2±»´´½¨\n");
}
void thread_wait(void)
{
/*µÈ´
Ïà¹ØÎĵµ£º
½â¾ö²½Ö裺ÒÔarm-linux-gcc-4.3.2.tgzΪÀý
1. °Ñarm-linux-gcc-4.3.2.tgz¿½±´µ½ÄãÖ¸¶¨µÄĿ¼ÀȻºóÓÃtarÃüÁî½âѹµ½µ±Ç°Ä¿Â¼¡£³É¹¦ºó£¬»áÔÚ4.3.2/binÏÂÕÒµ½arm-linux-gcc¡£
ÀýÈ磺/opt/arm-linux-gcc-4.3.2.taz£¬ÒÔÏÂÃüÁºìɫΪϵͳÌáʾ·û£¬ºÚɫΪÓû§ÃüÁî
gylu@dell-desktop:~$ ......
viÓëvimÒ»Ñù¶¼ÊÇ±à¼Æ÷£¬²»Í¬µÄÊÇvim¸ü¸ß¼¶Ò»Ð©£¬¿ÉÒÔÀí½âÊÇviµÄ¸ß¼¶°æ±¾¡£vi¾ÍÏñWindowsÖеļÆÊ±¾£¬¶øvimÔò¿ÉÒÔËãµÄÉÏÊÇ
officeÖеÄword¡£viÖ÷ÒªÓÃÀ´±à¼Ò»Ð©Îļþ£¬vimÊdzÌÐòÔ±µÄºÃ¹¤¾ß¡£ºÃµÄ¡£¡£¡£¡£ÏÂÃæÔÚ½éÉÜÒ»ÏÂviµÄʹÓᣡ£¡£¡£¡£¡£
1.
ʹÓÃvi½øÈëÒ»°ãģʽ
[root@linux ~]# vi test.tx ......
1 ÒýÑÔ
¡¡¡¡Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Å¶à½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ±»Ðí¶à²Ù×÷ϵͳËùÖ§³Ö£¬°üÀ¨Windows/NT£¬µ±È»£¬Ò²°üÀ¨Linux¡£
......
from:http://www.dzjs.net/html/qianrushixitong/2008/0509/3125.html
1 ÒýÑÔ
ELF(Executable and Linkable Format)¼´¿ÉÖ´ÐÐÁ¬½ÓÎļþ¸ñʽ£¬ÊÇLinux£¬SVR4ºÍSolaris2.0ĬÈϵÄÄ¿±êÎļþ¸ñʽ£¬Ä¿Ç°±ê×¼½Ó¿ÚίԱ»áTISÒѽ«ELF±ê×¼»¯ÎªÒ»ÖÖ¿ÉÒÆÖ²µÄÄ¿±êÎļþ¸ñʽ£¬ÔËÐÐÓÚ32-bit IntelÌåϵ΢»úÉÏ£¬¿ÉÓë¶àÖÖ²Ù×÷ ......