LinuxÏÂGetModuleFileNameµÄËÄÖÖд·¨
LinuxÏÂGetModuleFileNameµÄËÄÖÖд·¨
¡¡¡¡ÎÊÌâµÄÆðÒòÊÇÒª°ÑÒ»¸ö¶«¶«´ÓWindowsÒÆÖ²µ½»ùÓÚLinuxµÄǶÈëʽϵͳÉÏ¡£ÒÆÖ²¹ý³ÌÖУ¬Óöµ½ÁËGetModuleFileNameµÄÎÊ
Ì⡣ΪÁ˽â¾öÕâ¸öÎÊÌ⣬»¨Á˲»ÉÙµÄʱ¼ä£¬Ò²×ßÁ˲»ÉÙÍä·¡£ÏÂÃæÊÇÕûÀíµÄ½á¹û¡£
¡¡¡¡Ê×ÏÈժ¼һ¶ÎÎÄ×Ö£¬À´Ô´¡¶UNIX Programming FAQ ÖÐÎİ桷
1.14. ÎÒÔõÑùÕÒµ½½ø³ÌµÄÏàÓ¦¿ÉÖ´ÐÐÎļþ£¿
¡¡¡¡Õâ¸öÎÊÌâ¿ÉÒÔ×÷Ϊ'³£¼ûδ»Ø´ðÎÊÌâ
'('Frequently Unanswered Questions')µÄÒ»¸öºÃºòÑ¡£¬ÒòΪÊÂʵÉÏÌá³öÕâ¸öÎÊÌâ¾³£Òâζ×ųÌÐòµÄÉè¼ÆÓÐȱÏÝ¡£:)
¡¡
¡¡ÄãÄÜ×÷µÄ'×î¼Ñ²Â²â'('best
guess')ÊÇͨ¹ýÉóÊÓ'argv[0]'µÄÖµ¶ø»ñµÃ¡£Èç¹ûËü°üÀ¨Ò»¸ö'/'£¬ÄÇôËü¿ÉÄÜÊÇ¿ÉÖ´ÐгÌÐòµÄ¾ø¶Ô»òÏà¶Ô(¶ÔÓÚÔÚ³ÌÐò¿ªÊ¼Ê±µÄµ±Ç°Ä¿Â¼¶øÑÔ)
·¾¶¡£Èç¹û²»°üÀ¨£¬ÄÇôÄã¿ÉÒÔ·ÂЧshell¶ÔÓÚ'PATH'±äÁ¿µÄ²éѯÀ´²éÕÒÕâ¸ö³ÌÐò¡£µ«ÊÇ£¬²»Äܱ£Ö¤³É¹¦£¬ÒòΪÓпÉÄÜÖ´ÐгÌÐòʱ'argv[0]'ÊÇ
һЩÈÎÒâÖµ£¬Ò²²»ÅųýÕâ¸ö¿ÉÖ´ÐÐÎļþÔÚÖ´Ðкó¿ÉÄÜÒѾ±»¸üÃû»òɾ³ýµÄÇé¿ö¡£
¡¡¡¡Èç¹ûËùÓÐÄãÏë×öµÄÖ»ÊÇÄÜ´òÓ¡Ò»¸öºÍ´íÎóÏûÏ¢Ò»Æð³öÏֵĺÏÊʵÄÃû
×Ö£¬ÄÇô×îºÃµÄ·½·¨ÔÚ'main()'º¯ÊýÖн«'argv[0]'µÄÖµ±£´æÔÚÈ«¾Ö±äÁ¿ÖÐÒÔ¹©Õû¸ö³ÌÐòʹÓá£ËäȻûÓб£Ö¤Ëµ'argv[0]'µÄÖµ×ÜÊÇÓÐÒâ
Ò壬µ«ÔÚ´ó¶àÊýÇé¿öÏÂËüÊÇ×îºÃµÄÑ¡Ôñ¡£
¡¡¡¡ÈËÃÇѯÎÊÕâ¸öÎÊÌâµÄ×îÆÕͨÔÒòÊÇÒâͼ¶¨Î»ËûÃdzÌÐòµÄÅäÖÃÎļþ¡£Õâ±»ÈÏΪÊDz»ºÃµÄÐÎʽ£»°üº¬¿ÉÖ´ÐÐÎļþ
µÄĿ¼Ӧµ±*Ö»*°üº¬¿ÉÖ´ÐÐÎļþ£¬¶øÇÒ»ùÓÚ¹ÜÀíµÄÒªÇó¾³£ÊÔͼ½«ÅäÖÃÎļþ·ÅÖÃÔںͿÉÖ´ÐÐÎļþ²»Í¬µÄÎļþϵͳ¡£
¡¡¡¡ÊÔͼ×öÕâ¸öµÄÒ»¸ö±È½Ï²»ÆÕͨµ«
¸üÕý¹æµÄÀíÓÉÊÇÔÊÐí³ÌÐòµ÷ÓÃ'exec()'Ö´ÐÐËü×Ô¼º£»ÕâÊÇÒ»ÖÖÓÃÀ´ÍêÈ«ÖØÐ³õʼ»¯½ø³Ì(±ÈÈç±»ÓÃÓÚһЩ'sendmail'µÄ°æ±¾)µÄ°ì·¨(±ÈÈçµ±Ò»
¸öÊØ»¤³ÌÐò²¶»ñÒ»¸ö'SIGHUP'ÐźÅ)¡£
¡¡¡¡ÍêȫͬÒâÉÏÃæµÄ¹Ûµã£¡ËùÒÔ²¢²»½¨ÒéÔÚLinuxÏÂȥʵÏÖGetModuleFileName£¬²»¹ý³öÓÚ¼¼ÊõµÄ½Ç¶È£¬ÌÖÂÛÒ»ÏÂÕâ¸öÎÊÌâÒ²ÊÇ¿ÉÒÔ
µÄ¡£
¡¡¡¡ºÃ£¬ÏÂÃæËµËµÜî×ÖµÄËÄÖÖд·¨¡£Å¶£¬²»£¬ÊÇGetModuleFileNameµÄËÄÖÖд·¨¡£
GetModuleFileNameµÄËÄÖÖд·¨
·½
·¨Ò»£º´ÓPATHÈëÊÖ
˵Ã÷£ºÉÏÎÄÌṩµÄ˼·
int GetModuleFileName1( char*
sModuleName, char* sFileName, int nSize)
{
int ret = -1;
if(
strchr( sModuleName,'/' ) != NULL )
strcpy( sFileName, sModuleName
);
else
{
char* sPath = getenv("PATH");
&nb
Ïà¹ØÎĵµ£º
Ò»¡¢ÒýÑÔ£º
±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾Ñ飨Õâ¸ö»¹µ ......
1¡¢Ê¹ÓÃGTKÖеÄGdkEvent
GdkEvent *event;
event = gdk_event_new (GDK_KEY_PRESS); //°´¼ü°´ÏÂ
event->key.send_event = TRUE;
event->key.keyva ......
tar ÎļþÊǼ¸¸öÎļþºÍ£¨»ò£©Ä¿Â¼ÔÚÒ»¸öÎļþÖеļ¯ºÏ¡£ÕâÊÇ´´½¨±¸·ÝºÍ¹éµµµÄ¼Ñ¾¶¡£
tar ʹÓõÄÑ¡ÏîÓУº
-c — ´´½¨Ò»¸öй鵵¡£
-f — µ±Óë -c Ñ¡ÏîÒ»ÆðʹÓÃʱ£¬´´½¨µÄ tar ÎļþʹÓøÃÑ¡ÏîÖ¸¶¨µÄÎļþÃû£»µ±Óë -x Ñ¡ÏîÒ»ÆðʹÓÃʱ£¬Ôò½â³ý¸ÃÑ¡ÏîÖ¸¶¨µÄ¹éµµ¡£
-t — ÏÔʾ°üÀ¨ÔÚ tar ÎļþÖеÄÎļþÁÐ±í¡£
-v ......
ÎÄÕ³ö´¦£ºhttp://doc.linuxpk.com/52964.html
ʹÓÿØÖÆÌ¨µÇ¼ºó£¬ÔÚshellÌáʾ·ûÏÂÃæ²Ù×÷ʱ»áÓõ½´óÁ¿µÄTabÀ´×Ô¶¯²¹È«£¬Õâ¸öʱºò»úÆ÷µÄ·äÃùÆ÷¾Í»áà½à½ßÁßÁ²»Í££¬Õâ¸öà½à½ßÁßÁµÄÉùÒô¿ÉÒÔʹÓÃsettermÃüÁîÀ´ÉèÖÃËüµÄ³¤¶Ì¡£
setterm -blength 0
  ......
Linux ²é¿´´ÅÅÌ·ÖÇø¡¢Îļþϵͳ¡¢Ê¹ÓÃÇé¿öµÄÃüÁîºÍÏà¹Ø¹¤¾ß½éÉÜ
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£ºLinuxSir.Org
ÌáÒª£ºLinux
´ÅÅÌ·ÖÇø±í¡¢ÎļþϵͳµÄ²é¿´¡¢Í³¼ÆµÄ¹¤¾ßºÜ¶à£¬ÓÐЩ¹¤¾ßÊǶ๦Äܵ쬲»½ö½öÊDz鿴´ÅÅ̵ķÖÇø±í£¬¶øÇÒÒ²ÄܽøÐдÅÅÌ·ÖÇøµÄ²Ù×÷£»µ«ÔÚ±¾ÎÄ£¬ÎÒÃÇÖ»½²´ÅÅÌ·ÖÇø
µÄ²é¿´£¬ÒÔ¼°·ÖÇøµÄʹÓÃÇé¿öµÄ²é¿´£»±¾ÎÄÖ»ÊǸø ......