Linuxϵͳpkg
Ò»¡¢±àÒëºÍÁ¬½Ó
Ò»°ãÀ´Ëµ£¬Èç¹û¿âµÄÍ·Îļþ²»ÔÚ /usr/include Ŀ¼ÖУ¬ÄÇôÔÚ±àÒëµÄʱºòÐèÒªÓà -I ²ÎÊýÖ¸¶¨Æä·¾¶¡£ÓÉÓÚͬһ¸ö¿âÔÚ²»Í¬ÏµÍ³ÉÏ¿ÉÄÜλÓÚ²»Í¬µÄĿ¼Ï£¬Óû§°²×°¿âµÄʱºòÒ²¿ÉÒÔ½«¿â°²×°ÔÚ²»Í¬µÄĿ¼Ï£¬ËùÒÔ¼´Ê¹Ê¹ÓÃͬһ¸ö¿â£¬ÓÉÓÚ¿âµÄ·¾¶µÄ²»Í¬£¬Ôì³ÉÁËÓà -I ²ÎÊýÖ¸¶¨µÄÍ·ÎļþµÄ·¾¶Ò²¿ÉÄܲ»Í¬£¬Æä½á¹û¾ÍÊÇÔì³ÉÁ˱àÒëÃüÁî½çÃæµÄ²»Í³Ò»¡£Èç¹ûʹÓà -L ²ÎÊý£¬Ò²»áÔì³ÉÁ¬½Ó½çÃæµÄ²»Í³Ò»¡£±àÒëºÍÁ¬½Ó½çÃæ²»Í³Ò»»áΪ¿âµÄʹÓôøÀ´Âé·³¡£
ΪÁ˽â¾ö±àÒëºÍÁ¬½Ó½çÃæ²»Í³Ò»µÄÎÊÌ⣬ÈËÃÇÕÒµ½ÁËһЩ½â¾ö°ì·¨¡£Æä»ù±¾Ë¼Ïë¾ÍÊÇ£ºÊÂÏȰѿâµÄλÖÃÐÅÏ¢µÈ±£´æÆðÀ´£¬ÐèÒªµÄʱºòÔÙͨ¹ýÌØ¶¨µÄ¹¤¾ß½«ÆäÖÐÓÐÓõÄÐÅÏ¢ÌáÈ¡³öÀ´¹©±àÒëºÍÁ¬½ÓʹÓá£ÕâÑù£¬¾Í¿ÉÒÔ×öµ½±àÒëºÍÁ¬½Ó½çÃæµÄÒ»ÖÂÐÔ¡£ÆäÖУ¬Ä¿Ç°×îΪ³£ÓõĿâÐÅÏ¢ÌáÈ¡¹¤¾ß¾ÍÊÇÏÂÃæ½éÉÜµÄ pkg-config¡£
pkg-config ÊÇͨ¹ý¿âÌṩµÄÒ»¸ö .pc Îļþ»ñµÃ¿âµÄ¸÷ÖÖ±ØÒªÐÅÏ¢µÄ£¬°üÀ¨°æ±¾ÐÅÏ¢¡¢±àÒëºÍÁ¬½ÓÐèÒªµÄ²ÎÊýµÈ¡£ÕâЩÐÅÏ¢¿ÉÒÔͨ¹ý pkg-config ÌṩµÄ²ÎÊýµ¥¶ÀÌáÈ¡³öÀ´Ö±½Ó¹©±àÒëÆ÷ºÍÁ¬½ÓÆ÷ʹÓá£
The pkgconfig package contains tools for passing the include path and/or library paths to build tools during the make file execution.
pkg-config is a function that returns meta information for the specified library.
The default setting for PKG_CONFIG_PATH is /usr/lib/pkgconfig because of the prefix we use to install pkgconfig. You may add to PKG_CONFIG_PATH by exporting additional paths on your system where pkgconfig files are installed. Note that PKG_CONFIG_PATH is only needed when compiling packages, not during run-time.
ÔÚĬÈÏÇé¿öÏ£¬Ã¿¸öÖ§³Ö pkg-config µÄ¿â¶ÔÓ¦µÄ .pc ÎļþÔÚ°²×°ºó¶¼Î»ÓÚ°²×°Ä¿Â¼ÖÐµÄ lib/pkgconfig Ŀ¼Ï¡£ÀýÈ磬ÎÒÃÇÔÚÉÏÃæÒѾ½« Glib °²×°ÔÚ /opt/gtk Ŀ¼ÏÂÁË£¬ÄÇôÕâ¸ö Glib ¿â¶ÔÓ¦µÄ .pc ÎļþÊÇ /opt/gtk/lib/pkgconfig Ŀ¼ÏÂÒ»¸ö½Ð glib-2.0.pc µÄÎļþ£º
prefix=/opt/gtk/
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
glib_genmarshal=glib-genmarshal
gobject_query=gobject-query
glib_mkenums=glib-mkenums
Name: GLib
Descriptio
Ïà¹ØÎĵµ£º
linuxÖУ¬Í¨¹ý
ls -al
ÏÔʾµÄÊôÐÔÖУ¬µÚÒ»¸ö¾Í±êÖ¾ÎļþÀàÐÍ¡£Í¨³£ÓÐһϼ¸ÖÖÇé¿ö£º
[ - ]££££ÆÕͨÎļþ
[ d]££££Ä¿Â¼
[ l ]££££Á¬½ÓÎļþ
[ b]££££¿éÉ豸
[ c ]££££×Ö·ûÉ豸
[ s ]££££Ì×½á×Ö
[ p ]££££¹ÜµÀ ......
Èç¹û·þÎñÆ÷ÊÇ×Ô¼ºµÄ£¬²¢ÇÒ»úÆ÷¾ÍÔÚÉí±ß£¬ÄÇʲô¶¼²»ÓÃ˵ÁË£¬È±ÉÙgcc¶¥¶à¾ÍÊÇÖØÐ·ÅÈë°²×°ÅÌ£¬°Ñ¿ª·¢¹¤¾ß°ü°²×°ÉÏ¡£µ«ÊÇÈç¹ûÊÇ×âµÄ·þÎñÆ÷£¬ÍйܷþÎñ·½ÄǰïÈËÓָ㲻¶®Äã˵µÄɶ×Ógcc£¬Òª°²×°gccʵÔÚÊÇÌ«Âé·³ÁË¡£ÄãµÃÈ¥ÕÒgccÏà¹ØµÄ°ü£¬°æ±¾ºÅ»¹µÃ±ØÐë¶ÔÓ¦ÉÏ£¬·ñÔò²»¼æÈÝ¡£×î½ü¸øÒ»¸öÅóÓÑ×°gcc£¬ ......
3. GDBµÄʵÏÖ
GDBÊÇGNU·¢²¼µÄÒ»¸öÇ¿´óµÄ³ÌÐòµ÷ÊÔ¹¤¾ß£¬ÓÃÒÔµ÷ÊÔC/C++³ÌÐò¡£¿ÉÒÔʹ³ÌÐòÔ±ÔÚ³ÌÐòÔËÐеÄʱºò¹Û²ì³ÌÐòÔÚÄÚ´æ/¼Ä´æÆ÷ÖеÄʹÓÃÇé¿ö¡£ËüµÄʵÏÖÒ²ÊÇ»ùÓÚptraceϵͳµ÷ÓÃÀ´Íê³ÉµÄ¡£
Æä
ÔÀíÊÇÀûÓÃptraceϵͳµ÷Óã¬ÔÚ±»µ÷ÊÔ³ÌÐòºÍgdbÖ®¼ä½¨Á¢¸ú×Ù¹ØÏµ¡£È»ºóËùÓз¢Ë͸ø±»µ÷ÊÔ³ÌÐòµÄÐźÅ(³ýSIGKILL)¶¼»á±»gdb½Ø ......
1. Linux ½Å±¾±àд»ù´¡
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·ÅÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
¡¡¡¡·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
¡¡¡¡µ±±à¼ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
¡¡¡¡ÒªÊ¹½Å±¾¿ÉÖ´ÐУº
±àÒë ch ......
ÔÚchinaunixÉÏ¿´µ½Ò»¸öÈËдµÄ£¬»òÐí¶Ô×Ô¼ºÑ§Ï°linuxÓеã°ïÖú£¬ËùÒԾͼÇÏÂÀ²£º
·½·¨²½Ö裺
1¡¢»ù´¡ÖªÊ¶£º
Ä¿µÄ£ºÄÜ¿´¶®Ó²¼þ¹¤×÷ÔÀí£¬µ«ÖصãÔÚǶÈëʽÈí¼þ£¬ÌرðÊDzÙ×÷ϵͳ¼¶Èí¼þ£¬Äǽ«ÊÇÎÒµÄÓÅÊÆ¡£
¿ÆÄ¿£ºÊý×ֵ緡¢¼ÆËã»ú×é³ÉÔÀí¡¢Ç¶Èëʽ΢´¦ÀíÆ÷½á¹¹¡£
»ã±àÓïÑÔ¡¢C/C++¡¢±àÒëÔÀí¡¢ÀëÉ¢Êýѧ¡£
Êý¾Ý½á¹ ......