¡¾linux¡¿c++ ÄÚ´æ¹ÜÀí£¨¶þ£©
3. Ö¸ÕëÓëÊý×éµÄ±È½Ï
²»Í¬µã£º
Êý×飺ҪôÔÚ¾ªÌì´æ´¢ÇøÓò±»´´½¨£¨ÈçÈ«¾ÖÊý×飩£¬ÒªÃ´ÔÚÕ»Éϱ»´´½¨¡£Êý×éÃû¶ÔÓ¦×Å£¨¶ø²»ÊÇÖ¸Ïò£©Ò»¿éÄڴ棬ÆäµØÖ·ÓëÈÝÁ¿ÔÚÉúÃüÖÜÆÚÄÚ±£³Ö²»±ä£¬Ö»ÓÐÊý×éµÄÄÚÈÝ¿ÉÒԸı䡣
Ö¸Õ룺¿ÉÒÔËæÊ±Ö¸ÏòÈÎÒâÀàÐ͵ÄÄÚ´æ¿é£¬ËüµÄÌØÕ÷ÊÇ“¿É±ä”£¬ËùÒÔÎÒÃdz£ÓÃÖ¸ÕëÀ´²Ù×÷¶¯Ì¬ÄÚ´æ¡£
Á½ÕßÌØÕ÷±È½ÏµÄÀý×Ó£º
(1) ÐÞ¸ÄÄÚÈÝ£º
char a[] = “hello”;
a[0] = ‘x’ ; // ok
char *p = “hello”; //×¢ÒâpÖ¸Ïò³£Á¿×Ö·û´®
p[0] = ‘x’; //´íÎó¡£±àÒëÆ÷²»ÄÜ·¢ÏָôíÎó
Ö¸ÕëpÖ¸Ïò³£Á¿×Ö·û´®”hello”(λÓÚ¾²Ì¬´æ´¢Çø£¬ÄÚÈÝΪhello)£¬³£Á¿×Ö·û´®µÄÄÚÈÝÊDz»¿ÉÒÔ±»¸Ä±äµÄ¡£ÆóͼÐ޸ij£Á¿×Ö·û´®µÄÄÚÈݶøµ¼ÖÂÔËÐдíÎó¡£
(2) ÄÚÈݸ´ÖÆÓë±È½Ï
²»ÄܶÔÊý×éÃû½øÐÐÖ±½Ó¸´ÖÆÓë±È½Ï£¬Êý×é¼ä¸´ÖÆÓ¦¸ÃʹÓñê×¼º¯Êýstrcpy½øÐи´ÖÆ¡£Í¬Àí£¬±È½ÏbºÍaµÄÄÚÈÝÊÇ·ñÏàͬ£¬²»ÄÜʹÓÃif( b == a )À´Åжϣ¬Ó¦¸ÃʹÓñê×¼¿âº¯Êýstrcmp½øÐбȽϡ£
Óï¾äp = a²¢²»Äܽ«Êý×éaµÄÄÚÈݸ´ÖƸøÖ¸Õëp£¬¶øÊǰÑaµÄµØÖ·¸³¸øÁËp£¬ÒªÏë¸´ÖÆaµÄÄÚÈÝ£¬¿ÉÒÔÏÈÓÿ⺯ÊýmallocΪpÉêÇëÒ»¿éÈÝÁ¿Îªstrlen(a) + 1 ¸ö×Ö·ûµÄÄڴ棬ÔÙÓÃstrcpy½øÐÐ×Ö·û´®¸´ÖÆ¡£Í¬Àí£¬if( p == a) ±È½ÏµÄ²»ÊÇÄÚÈݶøÊǵØÖ·£¬Ó¦¸ÃÓÿ⺯Êýstrcmp±È½Ï¡£
// Êý×é
char a[] = “hello”;
char b[10];
strcpy( b, a); //²»ÄÜÓÃif( b == a)
…….
// Ö¸Õë
int len = strlen(a);
char *p = (char *)malloc( sizeof(char) * ( len + 1) );
strcpy( p, a); // ²»ÄÜÓà p = a;
if( strcmp( p, a ) == 0 ) // ²»ÄÜÓÃif( p == a )
…….
(3) ¼ÆËãÄÚ´æÈÝÁ¿
ÓÃÔËËã·û sizeof ¿ÉÒÔ¼ÆËã³öÊý×éµÄÈÝÁ¿£¨×Ö½ÚÊý£©¡£
ÏÂÀýÖУ¬sizeof (a)µÄÖµÊÇ12£¨×¢Òâ±ðÍü¼ÇÁË’’£©¡£Ö¸ÕëpÖ¸Ïòa£¬µ«ÊÇsizeof(p)µÄֵȴÊÇ4(32λ¼ÆËã»ú)£¬ÕâÊÇÒòΪsizeof(p)µÃµ½µÄÊÇÒ»¸öÖ¸Õë±äÁ¿µÄ×Ö½ÚÊý£¬Ï൱ÓÚsizeof(char *)£¬¶ø²»ÊÇpËùÖ¸µÄÄÚ´æÈÝÁ¿¡£
&nbs
Ïà¹ØÎĵµ£º
Ò»¡¢c++ µ÷C:
/* cÓïÑÔÍ·Îļþ£ºcExample.h */
#ifndef C_EXAMPLE_H
#define C_EXAMPLE_H
#ifdef __cplusplus
extern "C"
{
#endif
int add(int x,int y);
#ifdef __cplusplus
}
#endif
#endif
/* cÓïÑÔʵÏÖÎļþ£ºcExample.c */
#include "cExample.h"
int add( int x, int y )
{
return ......
Ò». yumÊÇʲô
yum = Yellow dog Updater, Modified
Ö÷Òª¹¦ÄÜÊǸü·½±ãµÄÌí¼Ó/ɾ³ý/¸üÐÂRPM°ü.
ËüÄÜ×Ô¶¯½â¾ö°üµÄÒÐÀµÐÔÎÊÌâ.
ËüÄܱãÓÚ¹ÜÀí´óÁ¿ÏµÍ³µÄ¸üÐÂÎÊÌâ
¶þ. yumÌØµã
*¿ÉÒÔͬʱÅäÖöà¸ö×ÊÔ´¿â(Repository)
*¼ò½àµÄÅäÖÃÎļþ(/etc/yum.conf
*×Ô¶¯½â¾öÔö¼Ó»òɾ³ýrpm°üʱÓöµ½µÄÒÐÀµÐÔÎÊÌâ
*ʹÓ÷½±ã
*± ......
1. man ¶ÔÄãÊìϤ»ò²»ÊìϤµÄÃüÁîÌṩ°ïÖú½âÊÍ
eg:man ls ¾Í¿ÉÒԲ鿴lsÏà¹ØµÄÓ÷¨
×¢£º°´q¼ü»òÕßctrl+cÍ˳ö£¬ÔÚlinuxÏ¿ÉÒÔʹÓÃctrl+cÖÕÖ¹µ±Ç°³ÌÐòÔËÐС£
2. ls ²é¿´Ä¿Â¼»òÕßÎļþµÄÊô*£¬ÁоٳöÈÎһĿ¼ÏÂÃæµÄÎļþ
eg: ls /usr/man
ls -l
a.d±íʾĿ¼(directory)£¬Èç¹ûÊÇÒ»¸ö”-”±íʾÊÇÎļþ£¬Èç¹ûÊÇlÔò±íʾÊÇ ......
Ðźű¾ÖÊ
ÐźÅÊÇÔÚÈí¼þ²ã´ÎÉ϶ÔÖжϻúÖÆµÄÒ»ÖÖÄ£Ä⣬ÔÚÔÀíÉÏ£¬Ò»¸ö½ø³ÌÊÕµ½Ò»¸öÐźÅÓë´¦ÀíÆ÷ÊÕµ½Ò»¸öÖжÏÇëÇó¿ÉÒÔ˵ÊÇÒ»ÑùµÄ¡£ÐźÅÊÇÒì²½µÄ£¬Ò»¸ö½ø³Ì²»±ØÍ¨¹ýÈκβÙ×÷À´µÈ´ýÐźŵĵ½´ï£¬ÊÂʵÉÏ£¬½ø³ÌÒ²²»ÖªµÀÐźŵ½µ×ʲôʱºòµ½´ï¡£
ÐźÅÊǽø³Ì¼äͨÐÅ»úÖÆÖÐΨһµÄÒ첽ͨÐÅ»úÖÆ£¬¿ÉÒÔ¿´×÷ÊÇÒ첽֪ͨ£¬Í¨Öª½ÓÊÕÐźŵĽø³Ì ......
¿âÓж¯Ì¬Ó뾲̬Á½ÖÖ£¬¶¯Ì¬Í¨³£ÓÃ.soΪºó׺£¬¾²Ì¬ÓÃ.aΪºó׺¡£ÀýÈ磺libhello.so libhello.a
ΪÁËÔÚͬһϵͳÖÐʹÓò»Í¬°æ±¾µÄ¿â£¬¿ÉÒÔÔÚ¿âÎļþÃûºó¼ÓÉϰ汾ºÅΪºó׺,ÀýÈ磺 libhello.so.1.0,ÓÉÓÚ³ÌÐòÁ¬½ÓĬÈÏÒÔ.soΪÎļþºó׺Ãû¡£ËùÒÔΪÁËʹÓÃÕâЩ¿â£¬Í¨³£Ê¹Óý¨Á¢·ûºÅÁ¬½ÓµÄ·½Ê½¡£
ln -s libhello.so.1.0 libhello.so.1 ......