Ϊ Linux Ó¦ÓóÌÐò±àд DLL
Ϊ Linux Ó¦ÓóÌÐò±àд DLL ÔÚ½ö½öÖ»»á±àд²å¼þµÄʱºòΪʲôҪ±àдÕû¸öÓ¦ÓóÌÐò£¿
ÎĵµÑ¡Ïî
´òÓ¡±¾Ò³
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ ¼¶±ð£º ³õ¼¶ Allen Wilson (wilsona@us.ibm.com), µç×ÓÉÌÎñÉè¼ÆÊ¦, IBM 2001 Äê 10 Ô 01 ÈÕ ²å¼þºÍ DLL ͨ³£ÊÇÓÃÀ´ÎÞÐë±àдÕû¸öÐÂÓ¦ÓóÌÐò¶øÌí¼Ó¹¦Äܵļ«ºÃ·½·¨¡£ÔÚ Linux ÖУ¬²å¼þºÍ DLL ÊÇÒÔ¶¯Ì¬¿âÐÎʽʵÏֵġ£µç×ÓÉÌÎñ¹ËÎʼæÉè¼ÆÊ¦ Allen Wilson ½éÉÜÁ˶¯Ì¬¿â£¬²¢ÇÒÏòÄúÑÝʾÁËÈçºÎÔÚijһ¸öÓ¦ÓóÌÐòÕýÔÚÔËÐÐÖ®ºóʹÓö¯Ì¬¿âÀ´¸ü¸Ä¸ÃÓ¦ÓóÌÐò¡£ Internet ä¯ÀÀÆ÷Óû§·Ç³£ÊìϤ²å¼þµÄ¸ÅÄî¡£´Ó Web ÉÏÏÂÔØ²å¼þ£¬Í¨³£ÕâЩ²å¼þΪä¯ÀÀÆ÷µÄÒôƵ¡¢ÊÓÆµÒÔ¼°ÌØÊâЧ¹ûÌṩÔöǿ֧³Ö¡£Ò»°ãÀ´½²£¬ÔÚ²»¸ü¸ÄÔÓÐÓ¦ÓóÌÐòµÄÇé¿öÏ£¬²å¼þΪÏÖÓÐÓ¦ÓóÌÐòÌṩй¦ÄÜ¡£ DLL ÊdzÌÐòº¯Êý£¬ËüÃÇÔÚÉè¼ÆºÍ¹¹½¨Ó¦ÓóÌÐòʱΪ¸Ã³ÌÐòËùÖª¡£Éè¼ÆÓ¦ÓóÌÐòµÄÖ÷³ÌÐòʱʹÓóÌÐò¿ò¼Ü»òµ×°å£¬ÕâЩ³ÌÐò¿ò¼Ü»òµ×°åÔÚÔËÐÐʱѡÔñÐÔµØ×°ÈëËùÐèµÄ dll£¬ÕâЩ dll λÓÚ´ÅÅÌÉÏͬÖ÷³ÌÐò·ÖÀëµÄһЩÎļþÖС£ÕâÒ»´ò°üºÍ¶¯Ì¬×°ÈëÌṩÁËÁé»îµÄÉý¼¶¡¢Î¬»¤¡¢ÒÔ¼°Ðí¿É²ßÂÔ¡£ Ëæ Linux Ò»Æð½»¸¶µÄ»¹Óм¸Ç§ÌõÃüÁîºÍÓ¦ÓóÌÐò£¬ËüÃÇÖÁÉÙ¶¼ÐèÒª libc ¿âº¯Êý¡£Èç¹û libc º¯ÊýÓëÿһ¸öÓ¦ÓóÌÐò¶¼´ò°üÔÚÒ»Æð£¬ÄÇô´ÅÅÌÉϽ«»á³öÏÖ¼¸Ç§¸öÏàͬº¯ÊýµÄ¸±±¾¡£Linux ¹¹½¨ÕâЩӦÓóÌÐò£¬ÒÔʹÓÃͨ³£ËùÐèµÄϵͳ¿âµÄµ¥¸öϵͳ¼¶¸±±¾£¬¶ø²»ÀË·Ñ´ÅÅ̿ռ䡣Linux ÉõÖÁ×öµÃ¸üºÃ£¬Ã¿¸öÐèÒª¹«¹²ÏµÍ³¿âº¯ÊýµÄ½ø³ÌʹÓõ¥¸öµÄϵͳ¼¶Äڵĸ±±¾£¬Ò»´ÎÐÔ½«¸Ã¸±±¾×°Èëµ½Äڴ沢Ϊ¸÷½ø³ÌËù¹²Ïí¡£ ÔÚ Linux ÖУ¬²å¼þºÍ dll ÒÔ¶¯Ì¬¿âÐÎʽʵÏÖ¡£±¾ÎĵÄÓàϲ¿·ÖÊÇÔÚÓ¦ÓóÌÐòÔËÐÐÖ®ºóʹÓö¯Ì¬¿â¸ü¸Ä¸ÃÓ¦ÓóÌÐòµÄʾÀý¡£ Linux ¶¯Ì¬Á´½Ó Linux ÖеÄÓ¦ÓóÌÐòÒÔÒÔÏÂÁ½ÖÖ·½Ê½Ö®Ò»Á´½Óµ½Íⲿº¯Êý£ºÒªÃ´ÔÚ¹¹½¨Ê±Ó뾲̬¿â£¨ lib*.a £© ¾²Ì¬µØÁ´½Ó£¬²¢ÇÒ½«¿â´úÂë°üº¬ÔÚ¸ÃÓ¦ÓóÌÐòµÄ¿ÉÖ´ÐÐÎļþÀҪôÔÚÔËÐÐʱÓë¹²Ïí¿â£¨ lib*.so £© ¶¯Ì¬µØÁ´½Ó¡£Í¨¹ý¶¯Ì¬Á´½Ó×°ÈëÆ÷£¬½«¶¯Ì¬¿âÓ³Éä½øÓ¦ÓóÌÐòµÄ¿ÉÖ´ÐÐÄÚ´æÖС£ÔÚÆô¶¯Ó¦ÓóÌÐò֮ǰ£¬¶¯Ì¬Á´½Ó×°ÈëÆ÷½«ËùÐèµÄ¹²ÏíÄ¿±ê¿âÓ³Éäµ½Ó¦ÓóÌÐòµÄÄڴ棬»òÕßʹÓÃϵͳ¹²ÏíµÄÄ¿±ê²¢ÎªÓ¦ÓóÌÐò½âÎöËùÐèµÄÍⲿÒýÓá£ÏÖÔÚÓ¦ÓóÌÐò¾Í¿ÉÒÔÔËÐÐÁË¡£ ×÷ΪʾÀý£¬ÏÂÃæÓÐÒ»¸öÑÝʾ Linux ÖжԶ¯Ì¬Á´½Ó¿âµÄȱʡʹÓõÄС³ÌÐò£º main()
{
printf("Hello world
");
}
µ±Ê¹Óà gcc ±àÒë hello.c ʱ£¬¾Í´´½¨ÁËÒ»¸öÃûΪ a.out µÄ¿ÉÖ´ÐÐÎļþ¡£Í¨¹ýʹÓà Linux ÃüÁî ld
Ïà¹ØÎĵµ£º
¸ù¾Ý¹¤×÷»·¾³µÄÐèÇó£¬ÐèÒªÕÆÎÕLinux/Unix»·¾³Ï½øÐÐÈí¼þ°²×°Î¬»¤ÒÔ¼°Ïà¹ØÅäÖõȼ¼ÄÜ¡£ÕâÀォÎÒµÄʹÓÃÐĵüǼÏÂÀ´¸ú´ó¼Ò·ÖÏíһϡ£ÉÏһƪÖ÷Òª½²½âÁËÊý¾Ý¿âµÄ°²×°(postgresql)¡£ÏÖÔÚ¾ÍWebÓ¦Ó÷þÎñÆ÷[Apache]µÄ°²×°½øÐн²½â(×¢£ºÒÔÉϰ²×°¾ùÒÔÔ´´úÂ뷽ʽ½øÐа²×°)¡£ÒÔÏÂʹÓõÄLinuxϵͳÊǰ²×°Ô ......
ffmpeg°æ±¾:0.5.1 flv -> mp4 ->3gp
#½ØÍ¼£º
./ffmpeg -i ÊÓÆµÎļþ -y -ss ½ØÍ¼Ê±¼ä -vframes 1 -f image2 -s 128x96 Ä¿±êÎļþÃû;
#Éú³ÉÔ¤ÀÀ°æ£º
./ffmpeg -i out.3gp -ss 00:00:00 -t 00:00:10 -s qcif -acodec copy -vcodec copy -y preview.3gp
#ת»»16:9 flvÊÓÆµµ½ 4:3µÄmp4ÊÓÆµ
ffmpeg -i src. ......
ÕâÊÇCµÄÔ³ÌÐò
#include <stdio.h>
#include <regex.h>
int main(int argc, char** argv)
{
regex_t reg;
regmatch_t pm[10];
char *pattern;
char buf[50];
const size_t nmatch = 10;
pattern = argv[1];
int result = regcomp(®, pattern, REG_EXTENDED);
while( fgets ......
¹¹½¨»ù±¾µÄLinux C ±à³Ì»·¾³ ÊÕ²Ø
±¾ÎÄ»ùÓÚdebian-40r0(ÄÚºË2.6.18)½éÉÜÒ»ÏÂÈçºÎÔÚÒ»¸ö±ê׼ϵͳÖй¹½¨Linux CµÄ»ù±¾±à³Ì¿ª·¢»·¾³¡£
Ò»¸öÍêÕûµÄ¿ª·¢»·¾³Ö÷Òª°üÀ¨Ëĸö²¿·Ö£º±ê×¼C¿â¡¢Í·Îļþ¡¢¹¤¾ßÁ´¡¢±à¼Æ÷¡¢°ïÖúÎĵµ£¬ÏÂÃæÒÀ´Î½éÉÜ¡£
±ê×¼C¿âglibc
glibcÊÇgnu·¢²¼µÄlibc¿â£¬¼´cÔËÐп⡣glibcÊÇlinuxϵͳÖÐÄÚºËÖ ......
1.²é¿´ÏµÍ³ÄÚºË
#uname -a
2.²é¿´cpuÐÅÏ¢
#cat /proc/cpuinfo
3.²é¿´ÄÚ´æÊ¹ÓÃÇé¿ö
#free -m
4.²é¿´Ó²ÅÌÊ£Óà¿Õ¼ä
#df -h
5.²é¿´Ä¿Â¼Õ¼Óÿռä
#du -hs Ŀ¼Ãû
6.²é¿´µ±Ç°ÓÐÄÄЩ½ø³Ì
#ps -A
7.²é¿´µ±Ç°½ø³ÌµÄʵʱÇé¿ö
#top
8.²é¿´½ø³Ì´ò¿ªµÄÎļþ
#lsof -p
9.²é¿´Ä³¸öÎļþ±»ÄÄЩӦÓóÌÐò¶Áд
......