青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 18,  comments - 2,  trackbacks - 0

這部分內容會隨著時間逐漸的積累,很多東西只要很用心,沒有辦不到的。

archlinux下安裝firefox如下:
$ sudo pacman -S firefox flashplugin gecko-mediaplayer
gecko-mediaplayer is More stable combined with MPlayer 1.0RC2, A good replacement of the now aging mplayer-plugin.

設置1. urlclassifier3.sqlite

urlclassifier3.sqlite文件用于記錄Firefox從Google抓取的反釣魚網站和惡意站點數據的,但是這個文件大小在默認情況下 會不斷地增長,會導致firefox啟動響應很慢。

通過設置"urlclassifier.updatecachemax"可以限制urlclassifier3.sqlite的大小.

Linux版本下"urlclassifier.updatecachemax"默認為104857600 (100 MB)。

在地址欄輸入about:config,出現一個警告,點擊同意后進行高級設置。在過濾器中輸入上面字串,改它的值為20971520(20m)。刪除urlclassifier3.sqlite重新啟動Firefox就可以了。


擴展列表:

1. Vimperator

    Make firefox behave like vim.

2. Adblock Plus

    Ads were yesterday!

3. CacheView

    Allows searching and sorting cache files.

4. Download Statusbar

    View and manage downloads from a tidy statusbar.

5. DownloadHelper

    Download videos and images from many sites.

6. Fission

    Safari style progress bar in the address bar.

7. ColorfulTabs

    Colors every tab in a different color.

8. Better Gmail 2

    Enhances Gmail.

9. Gmail notifier

    A notifier for Gmail accounts.

10. Better GCal

    Enhances Google Calendar.



posted @ 2009-05-23 20:59 xuejzt 閱讀(412) | 評論 (0)編輯 收藏
vimperator是firefox下面的一款插件,它可以將你的firefox變成vim,就感覺你在用vim。效果特別好。強烈推薦~~
nomal模式下輸入:help就可以查看vimperator幫助
小結如下:
   1. esc,當快捷鍵無效時候大部分是因為切換到了命令模式,esc返回正常模式;
   2. tab,善用tab補全;
   3. o/t,當前/新標簽打開頁面;
   4. Shift+h/l,后退/前進,一般來說后退用的比較多;
   5. u,undo,撤銷關閉的標簽;
   6. d,關閉當前頁面;
   7. r/R,刷新/強制刷新當前頁面;
   8. /,當前頁面查找,回車后n標記下一個關鍵字,N標記上一個關鍵字;
   9. y/Y,復制當前標簽頁url/復制選中的文字;
  10. gg/gG,跳轉到頁面頂端/底端;
  11. p/P,粘帖并打開當前剪貼板里的url地址,小寫當前標簽打開,大寫新標簽打開;
  12. gf,查看頁面源代碼;
  13. f,進入QuickHint modo,用的不多;
  14. :pref,或者 :pr 加tab補全,打開Fx opinion對話框;
  15. :addons,擴展列表,同樣可以tab補全;
  16. :restart,重啟Fx;


posted @ 2009-05-23 20:13 xuejzt 閱讀(410) | 評論 (0)編輯 收藏
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    
char str1[] = "abc";
    
char str2[] = "abc";
    
const char str3[] = "abc";
    
const char str4[] = "abc";
    
const char* str5 = "abc";
    
const char* str6 = "abc";

    cout 
<< boolalpha << (str1 == str2) << endl;
    cout 
<< boolalpha << (str3 == str4) << endl;
    cout 
<< boolalpha << (str5 == str6) << endl;
    
return 0;
}

分別輸出false,false,true。str1和str2都是字符數組,每個都有其自己的存儲區,它們的值則是各存儲區首地址,不等;str3和 str4同上,只是按const語義,它們所指向的數據區不能修改。str5和str6并非數組而是字符指針,并不分配存儲區,其后的“abc”以常量形 式存于靜態數據區,而它們自己僅是指向該區首地址的指針,相等

boolalpha 用符號形式表示真假。
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    
float a = 1.0f;
    cout 
<< (int)a << endl;
    cout 
<< (int&)a << endl;
    cout 
<< boolalpha << ( (int)a == (int&)a ) << endl; // 輸出什么?
    float b = 0.0f;
    cout 
<< (int)b << endl;
    cout 
<< (int&)b << endl;
    cout 
<< boolalpha << ( (int)b == (int&)b ) << endl; // 輸出什么?
    return 0;
}

...
cout < < boolalpha < < ( (int)a == (int&)a ) < < endl;
// 輸出 false, 因為 float 的 1 和 int 的 1 在內存里的表示不一樣。
...
cout < < boolalpha < < ( (int)b == (int&)b ) < < endl; // 輸出 true
// 輸出 true, 因為 float 的 0 和 int 的 0 在內存里的表示是一樣的。

(int &)a 就表示 不管 a 是什么,我都當他是一個int變量。
從機器碼的角度來說,變量a會被翻譯成一個內存地址,(int &)a 就是說,這個內存地址里的內容它是一個整數。

(int)a 呢不同:如果 a 不是整數,就會按規則轉換成整數,存入另一個地址(或臨時變量)中去。

浮點數的 1.0f 在內存里是這樣表示的:
0011 1111 1000 0000 00000000 00000000
這個32位二進制數被當作整數輸出就是:
1065353216
而整數的 1 在內存里是這樣表示的:
0000 0000 0000 0000 00000000 00000001

所以 (int)a != (int&)a

浮點的0和整數的0 在內存里都是:
0000 0000 0000 0000 00000000 00000000

所以 (int)b == (int&)b

posted @ 2008-10-08 14:56 xuejzt 閱讀(501) | 評論 (0)編輯 收藏
emacs里面undo有兩種快捷方式:
1. C-x u
2. C-/
我喜歡用第二種方式,因為用起來很方便,而且因為這種方式,讓我想到了用“C-;”來表示redo.因為“'”就在“/”的旁邊,當
小指放在"\"上時無名指可以很輕松地放在";"上面。
redo的調用方式:
(require 'redo)
(global-set-key [(control \;)] 'redo)
posted @ 2008-10-04 14:36 xuejzt 閱讀(422) | 評論 (0)編輯 收藏
linux系統有很多守護進程,大多數服務器都是用守護進程實現的。守護進程是生存期長的一種進程。它們獨立于控制終端并且周期性的執行某種任務或等待處理某些發生的事件。
他們常常在系統引導裝入時啟動,在系統關閉時終止。你也可以自己來啟動它們。archlinux下所有的服務器守護進程都放在/etc/rc.d文件夾下面。如果安裝了mysql,就會在這個
文件夾里有一個名為mysqld的守護進程。要啟動它,采用:
$ sudo /etc/rc.d/mysqld start
之后就可以登錄mysql對里面的數據進行操作了。如果沒有開啟這個守護進程,嘗試連接mysql數據庫就會提示:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
一下是使用mysql數據庫常用的一些命令總結:
1:查看都有哪些數據庫
  mysql> SHOW DATABASES;
2:創建MYSQLDATA數據庫
  mysql> CREATE DATABASE MYSQLDATA;
3:選中MYSQLDATA數據庫
  mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)
4:查看當前數據庫中TABLE
  mysql> SHOW TABLES;
5:創建一個TABLE
  mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:顯示表結構
  mysql> DESCRIBE MYTABLE;
7:插入數據
  mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式將數據裝入數據庫表中
  mysql> LOAD DATA LOCAL INFILE "/home/test/music.txt" INTO TABLE MYTABLE;
9:導入.sql文件命令(例如D:/mysql.sql)
  mysql>use database;
  mysql>source d:/mysql.sql;
10:刪除表
  mysql>drop TABLE MYTABLE;
11:清空表
  mysql>delete from MYTABLE;
12:更新表中數據
  mysql>update MYTABLE set sex="f" where name='hyq';


MySql的用戶管理是通過 User表來實現的,添加新用戶常用的方法有兩個,一是在User表插入相應的數據行,同時設置相應的權限;二是通過GRANT命令創建具有某種權限的用戶。其中GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identified by "password" ;
grant usage on *.* to NewUserName@HostName identified by "password";
grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";
grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password";
若要給此用戶賦予他在相應對象上的權限的管理能力,可在GRANT后面添加WITH GRANT OPTION選項。而對于用插入User表添加的用戶,Password字段應用PASSWORD 函數進行更新加密,以防不軌之人竊看密碼。對于那些已經不用的用戶應給予清除,權限過界的用戶應及時回收權限,回收權限可以通過更新User表相應字段,也可以使用REVOKE操作。
下面給出本人從其它資料(www.cn-java.com)獲得的對常用權限的解釋:
全局管理權限:
FILE: 在MySQL服務器上讀寫文件。
PROCESS: 顯示或殺死屬于其它用戶的服務線程。
RELOAD: 重載訪問控制表,刷新日志等。
SHUTDOWN: 關閉MySQL服務。
數據庫/數據表/數據列權限:
ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。
CREATE: 建立新的數據庫或數據表。
DELETE: 刪除表的記錄。
DROP: 刪除數據表或數據庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜索表的記錄。
UPDATE: 修改表中已存在的記錄。
特別的權限:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登錄--其它什么也不允許做。
posted @ 2009-05-23 21:21 xuejzt 閱讀(302) | 評論 (0)編輯 收藏
  1 #include <mysql.h>/*注意要包含這個頭文件*/
  2 #include <string.h>
  3 #include <stdlib.h>
  4 #include <stdio.h>
  5 
  6 /*定義了一些數據庫連接需要的宏*/
  7 #define HOST "localhost"
  8 #define USERNAME "ABitNo"
  9 #define PASSWORD "ABitNo"
 10 #define DATABASE "abitno"
 11 
 12 /*這個函數用來執行傳入的sql語句*/
 13 void exe_sql(char* sql) {
 14 
 15     MYSQL my_connection; /*這是一個數據庫連接*/
 16     int res; /*執行sql語句后的返回標志*/
 17 
 18     /*初始化mysql連接my_connection*/
 19     mysql_init(&my_connection);
 20 
 21     /*這里就是用了mysql.h里的一個函數,用我們之前定義的那些宏建立mysql連接,并
 22     返回一個值,返回不為空證明連接是成功的*/
 23     if (mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD, DATABASE,
 24             0, NULL, CLIENT_FOUND_ROWS)) {/*連接成功*/
 25 
 26         printf("數據庫執行exe_sql連接成功!\n");
 27 
 28         /*這句話是設置查詢編碼為utf8,這樣支持中文*/
 29         mysql_query(&my_connection, "set names utf8");
 30 
 31         /*下面這句話就是用mysql_query函數來執行我們剛剛傳入的sql語句,
 32         這會返回一個int值,如果為0,證明語句執行成功*/
 33         res = mysql_query(&my_connection, sql);
 34 
 35         if (res) {/*現在就代表執行失敗了*/
 36             printf("Error: mysql_query !\n");
 37             /*不要忘了關閉連接*/
 38             mysql_close(&my_connection);
 39         } else {/*現在就代表執行成功了*/
 40             /*mysql_affected_rows會返回執行sql后影響的行數*/
 41             printf("%d 行受到影響!\n\n", mysql_affected_rows(&my_connection));
 42             /*不要忘了關閉連接*/
 43             mysql_close(&my_connection);
 44         }
 45 
 46     } else {
 47         /*數據庫連接失敗*/
 48         printf("數據庫執行exe_sql連接失敗!\n");
 49     }
 50 }
 51 
 52 /*這個函數用來執行傳入的sql語句,并打印出查詢結果*/
 53 void query_sql(char* sql) {
 54     MYSQL my_connection; /*這是一個數據庫連接*/
 55     int res; /*執行sql語句后的返回標志*/
 56     MYSQL_RES *res_ptr; /*指向查詢結果的指針*/
 57     MYSQL_FIELD *field; /*字段結構指針*/
 58     MYSQL_ROW result_row; /*按行返回的查詢信息*/
 59 
 60     int row, column; /*查詢返回的行數和列數*/
 61     int i, j; /*只是控制循環的兩個變量*/
 62 
 63     /*初始化mysql連接my_connection*/
 64     mysql_init(&my_connection);
 65 
 66     /*這里就是用了mysql.h里的一個函數,用我們之前定義的那些宏建立mysql連接,并
 67     返回一個值,返回不為空證明連接是成功的*/
 68     if (mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD, DATABASE,
 69             0, NULL, CLIENT_FOUND_ROWS)) {/*Connection success*/
 70 
 71         printf("數據庫查詢query_sql連接成功!\n");
 72 
 73         /*這句話是設置查詢編碼為utf8,這樣支持中文*/
 74         mysql_query(&my_connection, "set names utf8");
 75 
 76         /*下面這句話就是用mysql_query函數來執行我們剛剛傳入的sql語句,
 77         這會返回一個int值,如果為0,證明語句執行成功*/
 78         res = mysql_query(&my_connection, sql);
 79 
 80         if (res) { /*現在就代表執行失敗了*/
 81             printf("Error: mysql_query !\n");
 82             /*不要忘了關閉連接*/
 83             mysql_close(&my_connection);
 84         } else { /*現在就代表執行成功了*/
 85             /*將查詢的結果給res_ptr*/
 86             res_ptr = mysql_store_result(&my_connection);
 87 
 88             /*如果結果不為空,就把結果print*/
 89             if (res_ptr) {
 90                 /*取得結果的行數和*/
 91                 column = mysql_num_fields(res_ptr);
 92                 row = mysql_num_rows(res_ptr) + 1;
 93                 printf("查詢到 %lu 行 \n", row);
 94 
 95                 /*輸出結果的字段名*/
 96                 for (i = 0; field = mysql_fetch_field(res_ptr); i++)
 97                     printf("%s\t", field->name);
 98                 printf("\n");
 99 
100                 /*按行輸出結果*/
101                 for (i = 1; i < row; i++) {
102                     result_row = mysql_fetch_row(res_ptr);
103                     for (j = 0; j < column; j++)
104                         printf("%s\t", result_row[j]);
105                     printf("\n");
106                 }
107 
108             }
109 
110             /*不要忘了關閉連接*/
111             mysql_close(&my_connection);
112         }
113     }
114 }
115 
116 int main(int argc, char *argv[]) {
117     /*測試下向里面插入數據*/
118     char *exe = "insert into abitno values('ABitNo','http://ABitNo.LinPie.com');";
119     exe_sql(exe);
120 
121     /*測試下查詢*/
122     char *query = "select * from abitno;";
123     query_sql(query);
124 
125     return 0;
126 }

轉載自:
http://abitno.linpie.com/linux-c-connect-mysql.html

posted @ 2009-05-23 21:05 xuejzt 閱讀(4635) | 評論 (1)編輯 收藏

這部分內容會隨著時間逐漸的積累,很多東西只要很用心,沒有辦不到的。

archlinux下安裝firefox如下:
$ sudo pacman -S firefox flashplugin gecko-mediaplayer
gecko-mediaplayer is More stable combined with MPlayer 1.0RC2, A good replacement of the now aging mplayer-plugin.

設置1. urlclassifier3.sqlite

urlclassifier3.sqlite文件用于記錄Firefox從Google抓取的反釣魚網站和惡意站點數據的,但是這個文件大小在默認情況下 會不斷地增長,會導致firefox啟動響應很慢。

通過設置"urlclassifier.updatecachemax"可以限制urlclassifier3.sqlite的大小.

Linux版本下"urlclassifier.updatecachemax"默認為104857600 (100 MB)。

在地址欄輸入about:config,出現一個警告,點擊同意后進行高級設置。在過濾器中輸入上面字串,改它的值為20971520(20m)。刪除urlclassifier3.sqlite重新啟動Firefox就可以了。


擴展列表:

1. Vimperator

    Make firefox behave like vim.

2. Adblock Plus

    Ads were yesterday!

3. CacheView

    Allows searching and sorting cache files.

4. Download Statusbar

    View and manage downloads from a tidy statusbar.

5. DownloadHelper

    Download videos and images from many sites.

6. Fission

    Safari style progress bar in the address bar.

7. ColorfulTabs

    Colors every tab in a different color.

8. Better Gmail 2

    Enhances Gmail.

9. Gmail notifier

    A notifier for Gmail accounts.

10. Better GCal

    Enhances Google Calendar.



posted @ 2009-05-23 20:59 xuejzt 閱讀(412) | 評論 (0)編輯 收藏
vimperator是firefox下面的一款插件,它可以將你的firefox變成vim,就感覺你在用vim。效果特別好。強烈推薦~~
nomal模式下輸入:help就可以查看vimperator幫助
小結如下:
   1. esc,當快捷鍵無效時候大部分是因為切換到了命令模式,esc返回正常模式;
   2. tab,善用tab補全;
   3. o/t,當前/新標簽打開頁面;
   4. Shift+h/l,后退/前進,一般來說后退用的比較多;
   5. u,undo,撤銷關閉的標簽;
   6. d,關閉當前頁面;
   7. r/R,刷新/強制刷新當前頁面;
   8. /,當前頁面查找,回車后n標記下一個關鍵字,N標記上一個關鍵字;
   9. y/Y,復制當前標簽頁url/復制選中的文字;
  10. gg/gG,跳轉到頁面頂端/底端;
  11. p/P,粘帖并打開當前剪貼板里的url地址,小寫當前標簽打開,大寫新標簽打開;
  12. gf,查看頁面源代碼;
  13. f,進入QuickHint modo,用的不多;
  14. :pref,或者 :pr 加tab補全,打開Fx opinion對話框;
  15. :addons,擴展列表,同樣可以tab補全;
  16. :restart,重啟Fx;


posted @ 2009-05-23 20:13 xuejzt 閱讀(410) | 評論 (0)編輯 收藏
已經大概有半年沒有登錄我的這個博客了,不是因為我懶,只是自己一直在徘徊。我一直在尋找一個可以讓我長久的留下來寫博客的地方,現在我回來了!!我現在有兩個博客,一個我想用來記錄我自己的生活,情感,感悟,以及對人生的一些看法及認識,起名為“我就在這里”,現在我把這個地方選在了微軟的windows live里xuej's blog. 另外一個就是這個地方,我要用來記錄我在技術學習中的一些體會,還有一些總結,以及看書的筆記。我很喜歡這個博客,沒有多少廣告,界面干凈整潔,代碼可以高亮顯示,常用的工具都列在了工具欄里很方便使用。
馬上要論文答辯了,論文寫作還有個關鍵的環節就完成了,等答辯結束了,我就會回來。

posted @ 2009-05-22 13:19 xuejzt 閱讀(244) | 評論 (0)編輯 收藏
class Empty
{
public:
    Empty();                          
// 缺省構造函數
    Empty( const Empty& );            // 拷貝構造函數
    ~Empty();                         // 析構函數
    Empty& operator=const Empty& ); // 賦值運算符
    Empty* operator&();               // 取址運算符
    const Empty* operator&() const;   // 取址運算符 const
};

posted @ 2008-10-08 15:14 xuejzt 閱讀(1458) | 評論 (0)編輯 收藏
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    
char str1[] = "abc";
    
char str2[] = "abc";
    
const char str3[] = "abc";
    
const char str4[] = "abc";
    
const char* str5 = "abc";
    
const char* str6 = "abc";

    cout 
<< boolalpha << (str1 == str2) << endl;
    cout 
<< boolalpha << (str3 == str4) << endl;
    cout 
<< boolalpha << (str5 == str6) << endl;
    
return 0;
}

分別輸出false,false,true。str1和str2都是字符數組,每個都有其自己的存儲區,它們的值則是各存儲區首地址,不等;str3和 str4同上,只是按const語義,它們所指向的數據區不能修改。str5和str6并非數組而是字符指針,并不分配存儲區,其后的“abc”以常量形 式存于靜態數據區,而它們自己僅是指向該區首地址的指針,相等

boolalpha 用符號形式表示真假。
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    
float a = 1.0f;
    cout 
<< (int)a << endl;
    cout 
<< (int&)a << endl;
    cout 
<< boolalpha << ( (int)a == (int&)a ) << endl; // 輸出什么?
    float b = 0.0f;
    cout 
<< (int)b << endl;
    cout 
<< (int&)b << endl;
    cout 
<< boolalpha << ( (int)b == (int&)b ) << endl; // 輸出什么?
    return 0;
}

...
cout < < boolalpha < < ( (int)a == (int&)a ) < < endl;
// 輸出 false, 因為 float 的 1 和 int 的 1 在內存里的表示不一樣。
...
cout < < boolalpha < < ( (int)b == (int&)b ) < < endl; // 輸出 true
// 輸出 true, 因為 float 的 0 和 int 的 0 在內存里的表示是一樣的。

(int &)a 就表示 不管 a 是什么,我都當他是一個int變量。
從機器碼的角度來說,變量a會被翻譯成一個內存地址,(int &)a 就是說,這個內存地址里的內容它是一個整數。

(int)a 呢不同:如果 a 不是整數,就會按規則轉換成整數,存入另一個地址(或臨時變量)中去。

浮點數的 1.0f 在內存里是這樣表示的:
0011 1111 1000 0000 00000000 00000000
這個32位二進制數被當作整數輸出就是:
1065353216
而整數的 1 在內存里是這樣表示的:
0000 0000 0000 0000 00000000 00000001

所以 (int)a != (int&)a

浮點的0和整數的0 在內存里都是:
0000 0000 0000 0000 00000000 00000000

所以 (int)b == (int&)b

posted @ 2008-10-08 14:56 xuejzt 閱讀(501) | 評論 (0)編輯 收藏

簡介

對于瀏覽源代碼來說,在 Emacs 里面也有很多工具可用,比如自帶的 etags 就 不錯,不過功能不如 Cscope 強大。 Cscope 并不像 etags 那樣屬于 Emacs , 它是一個獨立的程序。它是一個具有完全 Unix 血統的程序,用于幫助開發人員 瀏覽源代碼。它最初(那還是 PDP-11 的時代)是由 Bell 實驗室開發,并且多年 以來一直是 AT&T Unix 商業發行版的一部分。它已經被用于管理超過兩千萬行代 碼的工程。在2000年4月,多虧了 Santa Cruz Operation, Inc. (SCO) , Cscope 的源代碼在 BSD license 下開放了源代碼。

Cscope 的發行包里面有個 xcscope.el 能很好地用于 (X)Emacs 。它處于源代 碼包的 contrib/xcscope 目錄下。該目錄下面還有一個名為 cscope-indexer 的腳本文件,用于處理源代碼并不是在一個文件夾下面的情況。

安裝和配置

首先到 Cscope 的主頁 上去下載最新的源代碼包,編譯安裝。要在 Emacs 里面 使用,首先必須把 xcscope.el 拷貝到 load-path 里面包含的目錄里面。并在 ~/.emacs 里面加上 (require 'xcscope) 就可以了,或者,如果你希望在打開 c 或者 c++ 文件的時候才加載 xcsope ,可以寫:

(add-hook 'c-mode-common-hook
'(lambda ()
(require 'xcscope)))

如果源代碼全部處于同一個目錄下面,現在就可以使用了。否則,如果源代碼有 多層目錄,或者其他地方還有附加的源代碼,則需要 cscope-indexer 腳本。把 那個腳本拷貝到系統 PATH 里面去(如 /usr/bin/)。如果所有的源代碼以及子目 錄都是在同一個目錄下面的,只要執行 C-c s I(cscope-index-files) 就可以 生成 Cscope 的數據庫,接下來就可以使用了。

使用簡介

默認是的快捷鍵都是綁定到 C-c s 的前綴上面,如果嫌麻煩的話可以自己更改 快捷鍵綁定。這是默認的用于查找的鍵綁定:

C-c s s         Find symbol.
C-c s d Find global definition.
C-c s g Find global definition (alternate binding).
C-c s G Find global definition without prompting.
C-c s c Find functions calling a function.
C-c s C Find called functions (list functions called
from a function).
C-c s t Find text string.
C-c s e Find egrep pattern.
C-c s f Find a file.
C-c s i Find files #including a file.

下面是在搜索到的結果之間切換用的快捷鍵:

C-c s b         Display *cscope* buffer.
C-c s B Auto display *cscope* buffer toggle.
C-c s n Next symbol.
C-c s N Next file.
C-c s p Previous symbol.
C-c s P Previous file.
C-c s u Pop mark.

更詳細的使用說明請參見 xcscope.el 文件頭部的注釋。

轉載:http://pluskid.lifegoo.com/wiki/EmacsCscope.html

posted @ 2008-10-04 16:37 xuejzt 閱讀(886) | 評論 (0)編輯 收藏
     摘要: 正則表達式(regular expression)就是用一個“字符串”來描述一個特征,然后去驗證另一個“字符串”是否符合這個特征。比如表達式“ab+” 描述的特征是“一個 'a' 和 任意個 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合這個特征。  閱讀全文
posted @ 2008-10-04 15:45 xuejzt 閱讀(326) | 評論 (0)編輯 收藏
/**
 * Accelerated C++ 筆記
**/
每一個標準容器,例如向量,都定義了兩種相關的迭代器類型:
container-type::const_iterator
container-type::iterator
這里container-type是諸如vector<Student_info>這樣的容器類型。
如果我們想用一個迭代起來修改存儲在容器中的值,就使用iterator類型;如果我們僅僅需要讀操作,那么就使用const_iterator類型。
//索引方式
for(vector<Student_info>::size_type i = 0; i != students.end(); ++i)
    cout 
<< students[i].name << endl;

//迭代器
for(vector<Student_info>::const_iterator iter = students.begin(); iter != students.end(); ++iter){
    cout 
<< (*iter).name << endl;
    
//或者 cout << iter->name << endl;
}
//用迭代器代替索引:效率可能不高
vector<Student_info> extract_fails(vector<Student_info>& students)
{
    vector
<Student_info> fail;
    vector
<Student_info>::iterator iter = students.begin();

    
while(iter != students.end()){
        
if(fgrade(*iter)){
            fail.push_back(
*iter);
            iter 
= students.erase(iter);
        }
        
else
            
++iter;
    }
    
return fail;
}


posted @ 2008-10-04 15:13 xuejzt 閱讀(666) | 評論 (0)編輯 收藏
僅列出標題  下一頁

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品美女www爽爽爽| 午夜精品福利视频| 欧美成人69av| 亚洲二区在线| 欧美成人r级一区二区三区| 麻豆精品精华液| 亚洲日本理论电影| 亚洲麻豆一区| 国产精品视频yy9299一区| 久久高清一区| 久久久久久色| 亚洲欧洲日产国码二区| 亚洲伦理中文字幕| 国产欧美一区二区三区视频| 久久久久综合一区二区三区| 狼狼综合久久久久综合网| 亚洲三级色网| 国产精品99久久久久久久久| 国产尤物精品| 亚洲精品乱码久久久久久日本蜜臀| 久久久久天天天天| 99国产精品久久久| 午夜精品福利视频| 亚洲精品乱码久久久久久| 亚洲一区中文| 最近看过的日韩成人| 一二三区精品福利视频| 国产一区二区在线观看免费播放| 麻豆av福利av久久av| 欧美精品在线观看一区二区| 欧美亚洲在线视频| 美女日韩欧美| 亚洲欧美电影院| 玖玖玖国产精品| 亚洲欧美怡红院| 欧美成人一品| 久久久成人精品| 欧美日韩日本国产亚洲在线| 理论片一区二区在线| 欧美视频成人| 亚洲高清自拍| 国产主播精品在线| 一区二区三区 在线观看视| 亚洲一区影院| 一区二区三区黄色| 免费成人高清视频| 久久久精品欧美丰满| 欧美视频官网| 亚洲国产片色| 亚洲成人在线视频播放| 亚洲一区欧美一区| 中文日韩在线| 欧美激情精品久久久| 麻豆视频一区二区| 国产麻豆一精品一av一免费| 一区二区电影免费在线观看| 亚洲国产一区二区三区青草影视| 久久成人在线| 欧美在线视频网站| 国产精品久久久久久久久久直播 | 亚洲字幕一区二区| 欧美成人中文| 亚洲电影在线看| 亚洲激情av在线| 免费一区二区三区| 女人色偷偷aa久久天堂| 一区二区三区在线视频播放| 欧美一区二区网站| 久久另类ts人妖一区二区| 国产精品一区二区三区成人| 亚洲综合日韩| 欧美一区二区三区啪啪| 国产精品拍天天在线| 亚洲午夜一二三区视频| 亚洲欧美日本日韩| 国产精品一二三四区| 亚洲一区二区三区精品在线| 亚洲欧美美女| 国产欧美精品在线播放| 亚洲欧美日韩视频二区| 久久久另类综合| 亚洲国产精品t66y| 欧美国产激情二区三区| 9色国产精品| 欧美伊人久久大香线蕉综合69| 国产精品在线看| 欧美伊人久久| 欧美福利电影网| 亚洲美女网站| 欧美吻胸吃奶大尺度电影| 亚洲私拍自拍| 久久资源av| 99国产精品久久久久久久久久| 国产精品国产三级国产aⅴ9色| 亚洲欧美中日韩| 女生裸体视频一区二区三区| 一区二区日韩伦理片| 国产精品久久久久久久久搜平片| 羞羞色国产精品| 亚洲福利视频网站| 亚洲欧美中文字幕| 影音先锋久久资源网| 欧美精品一区二区三区一线天视频| 亚洲狼人综合| 久久久91精品国产| 99精品99| 精品99一区二区| 欧美日韩在线直播| 久热re这里精品视频在线6| 亚洲欧美综合精品久久成人| 娇妻被交换粗又大又硬视频欧美| 欧美成人性生活| 欧美一区免费| 一级日韩一区在线观看| 欧美大片免费| 久久九九免费| 亚洲欧美日韩国产精品| 在线观看的日韩av| 国产精品久久久久久av下载红粉| 狂野欧美性猛交xxxx巴西| 亚洲欧美日韩综合| 亚洲九九精品| 亚洲第一色在线| 老司机精品视频网站| 香蕉久久精品日日躁夜夜躁| 亚洲精品中文字| 在线免费不卡视频| 国产一区91| 国产伦精品一区二区三区在线观看| 欧美成人三级在线| 久久久之久亚州精品露出| 亚洲欧美日韩另类| 亚洲一区二区三区久久| 亚洲毛片播放| 亚洲高清不卡在线| 欧美电影免费网站| 美女网站久久| 久久久亚洲精品一区二区三区 | 国产午夜精品一区二区三区欧美| 欧美午夜免费电影| 欧美日韩国产成人在线观看| 欧美激情精品久久久久久黑人| 麻豆freexxxx性91精品| 久久精品一区四区| 久久精品视频免费播放| 亚洲欧美一级二级三级| 亚洲欧美国内爽妇网| 午夜精品一区二区三区在线| 亚洲天堂成人| 亚洲伊人观看| 午夜精品久久99蜜桃的功能介绍| 亚洲在线成人精品| 午夜精品久久久久久99热软件| 亚洲欧美日韩国产一区二区三区| 亚洲在线观看免费视频| 亚洲免费一在线| 久久国产黑丝| 欧美v日韩v国产v| 欧美激情aaaa| 欧美视频第二页| 国产视频一区在线观看一区免费| 国产欧美精品在线| 在线观看日产精品| 亚洲区第一页| 亚洲深夜影院| 久久不射网站| 美女网站久久| 日韩视频不卡中文| 欧美一区二区三区四区视频 | 亚洲老司机av| 亚洲欧美经典视频| 久久久久网址| 欧美日韩精品在线观看| 国产精品入口66mio| 国产综合色产| aa亚洲婷婷| 欧美怡红院视频| 你懂的成人av| 中文久久精品| 久久看片网站| 国产精品xnxxcom| 精品99视频| 亚洲一区免费在线观看| 久久在精品线影院精品国产| 亚洲国产精品福利| 亚洲欧美激情一区二区| 欧美激情国产日韩| 久久躁日日躁aaaaxxxx| 欧美三级免费| 亚洲福利视频专区| 午夜精品在线看| 亚洲第一主播视频| 亚洲欧美精品在线观看| 欧美国产三级| 国内精品福利| 性欧美8khd高清极品| 亚洲国产日韩欧美综合久久| 香蕉久久夜色精品国产| 欧美日韩p片| 亚洲电影自拍|