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

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>
            亚洲精品日韩在线| 欧美精品粉嫩高潮一区二区| 国产精品三级久久久久久电影| 午夜日韩福利| 99re亚洲国产精品| 你懂的亚洲视频| 久久国产精品网站| 性色av香蕉一区二区| 亚洲靠逼com| 亚洲精品一区二区三区在线观看| 国产欧美日韩精品专区| 欧美理论在线| 欧美日韩在线精品一区二区三区| 你懂的国产精品| 欧美成人黄色小视频| 久久天天躁狠狠躁夜夜av| 性伦欧美刺激片在线观看| 亚洲第一天堂av| 欧美国产日韩精品免费观看| 亚洲欧美国产va在线影院| 一二三四社区欧美黄| 午夜精品久久久久久99热软件| 国内精品久久久久久久影视麻豆| 欧美日韩国产影院| 欧美一区二区三区日韩| 午夜精品三级视频福利| 亚洲综合精品| 久久久国产一区二区三区| 性久久久久久久| 久久国产毛片| 欧美在线二区| 老司机成人网| 欧美在线观看天堂一区二区三区 | 欧美国产日韩一二三区| 欧美一区三区二区在线观看| 亚洲人午夜精品免费| 99精品热视频只有精品10| 亚洲美女av电影| 午夜精品久久99蜜桃的功能介绍| 香蕉尹人综合在线观看| 久久久中精品2020中文| 欧美黑人一区二区三区| 国产精品av免费在线观看| 国产欧美日韩免费| 亚洲人成人一区二区三区| 亚洲视频一区二区在线观看| 最新热久久免费视频| 欧美国产日韩一区| 国产九区一区在线| 久久综合网络一区二区| 你懂的视频欧美| 亚洲国产裸拍裸体视频在线观看乱了中文 | 看片网站欧美日韩| 亚洲欧洲三级| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 黄色成人在线免费| 亚洲午夜小视频| 免费中文字幕日韩欧美| 一区二区激情视频| 裸体丰满少妇做受久久99精品 | 久久精品午夜| 一区二区三区国产在线| 久久蜜臀精品av| 欧美先锋影音| 亚洲人成在线观看一区二区| 99在线精品免费视频九九视| 亚洲丶国产丶欧美一区二区三区| 久久国产主播精品| 一区二区精品在线| 农村妇女精品| 在线观看成人小视频| 亚洲愉拍自拍另类高清精品| 亚洲欧美在线一区二区| 久久免费视频在线| 国产精品一卡| 亚洲欧美日韩一区二区| 亚洲高清在线观看| 亚洲人成在线观看一区二区| 欧美一区二区三区电影在线观看| 国产精品普通话对白| 亚洲第一在线视频| 久久夜色精品国产欧美乱| 亚洲一区二区视频在线| 欧美不卡高清| 在线成人h网| 欧美黄色大片网站| 免费久久99精品国产自| 亚洲欧美一区二区三区极速播放| 欧美日韩一区自拍| 亚洲精品乱码久久久久| 亚洲精品一区二区三区樱花 | 国产精品主播| 蜜臀久久久99精品久久久久久| 久久久久国色av免费看影院| 亚洲人成绝费网站色www| 久久天天躁夜夜躁狠狠躁2022 | 久久久久www| 性刺激综合网| 一区二区日韩| 精品成人在线视频| 欧美视频在线免费看| 欧美一激情一区二区三区| 欧美一区二区三区免费看| 亚洲欧美在线播放| 亚洲精品免费电影| 在线亚洲免费| 久久大综合网| 久久综合九色综合欧美就去吻| 欧美gay视频激情| 欧美电影在线观看完整版| 国产精品久久久久久影视| 一区二区三区三区在线| 亚洲日本欧美在线| 国产精品综合| 欧美激情久久久久久| 亚洲国产mv| 亚洲欧美日韩国产一区| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲欧洲中文日韩久久av乱码| 亚洲国产精品一区二区www在线| 亚洲私人影院| 亚洲人精品午夜在线观看| 午夜精品久久久久影视 | 欧美激情精品久久久久久变态| 亚洲激情一区二区三区| 亚洲视频一区在线观看| 国产亚洲制服色| 欧美日韩国产色视频| 亚洲综合视频一区| 亚洲伊人一本大道中文字幕| 性亚洲最疯狂xxxx高清| 亚洲国产婷婷香蕉久久久久久| 欧美日本视频在线| 欧美国产91| 欧美日韩视频在线一区二区观看视频 | 麻豆成人综合网| 欧美精品一卡| 玖玖在线精品| 亚洲一区二区在线| 亚洲女女做受ⅹxx高潮| 亚洲成色999久久网站| 亚洲专区一二三| 亚洲欧美日韩国产一区| 亚洲一区二区精品视频| 日韩一级在线| 久久超碰97人人做人人爱| 亚洲免费视频成人| 一本色道久久88综合亚洲精品ⅰ| 亚洲国产精品第一区二区| 亚洲黄色片网站| 亚洲系列中文字幕| 久久婷婷激情| 一区二区日韩伦理片| 欧美在线一区二区三区| 久久精品国产99国产精品| 免费观看成人www动漫视频| 国产美女搞久久| 欧美成人三级在线| 国产一区二区三区在线播放免费观看| 蜜桃av综合| 欧美成人乱码一区二区三区| 亚洲欧美日韩在线一区| 欧美色精品在线视频| 日韩小视频在线观看专区| 亚洲理伦在线| 欧美日韩成人综合| 亚洲最快最全在线视频| 午夜精品国产精品大乳美女| 欧美日韩国产探花| 亚洲免费在线精品一区| 欧美一区久久| 亚洲国产网站| 在线欧美日韩| 亚洲级视频在线观看免费1级| 国产麻豆午夜三级精品| 亚洲欧美日韩一区二区三区在线观看| 亚洲免费视频观看| 激情综合在线| 欧美久久九九| 久久精品三级| 99精品视频免费观看| 欧美淫片网站| 亚洲精品视频在线观看网站| 欧美岛国激情| 欧美一区二区三区喷汁尤物| 久久久久久久一区| 欧美一区二区三区婷婷月色 | 激情欧美日韩| 牛牛精品成人免费视频| 亚洲精选91| 久久日韩精品| 亚洲欧美成人综合| 在线观看的日韩av| 国产精品美女久久久浪潮软件| 久久爱另类一区二区小说| 亚洲成人在线视频网站| 亚洲欧美精品中文字幕在线| 国产欧美日韩一区二区三区| 久久久国产视频91| 亚洲欧美日韩一区|