2010年11月15日
這個(gè)工具是推薦給雙電腦工作人員的,不是的就不用往下看了,嗯。
synergy-----按照它主頁(yè)(
http://synergy2.sourceforge.net)上的介紹:
Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. It's intended for users with multiple computers on their desk since each system uses its own monitor(s).簡(jiǎn)單來(lái)說(shuō),只要在2臺(tái)聯(lián)網(wǎng)電腦上安裝synergy,設(shè)置好主從關(guān)系,就可以用一套鼠標(biāo)鍵盤(pán)訪問(wèn)兩臺(tái)機(jī)器了。
震撼啊,原來(lái)在實(shí)驗(yàn)室做項(xiàng)目的時(shí)候,曾經(jīng)用過(guò)一臺(tái)主機(jī)接2個(gè)顯示器的那種,一直以為要實(shí)現(xiàn)這樣的功能,只能通過(guò)硬件,事實(shí)synergy通過(guò)純軟件就實(shí)現(xiàn)了,太牛了。這還不是最貼心的,最貼心的是它連兩臺(tái)機(jī)器的剪貼板都共享了!而且作為一個(gè)開(kāi)源項(xiàng)目,支持windows,Linux,Mac等操作系統(tǒng)。今天從xinran那兒學(xué)到后,爽了一天,哈哈。
如果你用的是Ubuntu等Debian系系統(tǒng),sudo apt-get install quicksynergy即可。quicksynergy是synergy在Linux上的GUI前端,免去你改配置文件的麻煩,我將Linux上的synergy設(shè)置為server,windows上的synergy設(shè)置為client,使用方式設(shè)置為鼠標(biāo)移動(dòng)到server屏幕的左端外即切換到控制到筆記本,然后把筆記本放在大屏幕的左邊,ok。你要是左手用戶,反著設(shè)置到右邊即可,hoho。
1. 好好規(guī)劃自己的路,不要跟著感覺(jué)走!根據(jù)個(gè)人的理想決策安排,絕大部分人并不指望成為什么院士或教授,而是希望活得滋潤(rùn)一些,爽一些。那么,就需要慎重安排自己的軌跡。從哪個(gè)行業(yè)入手,逐漸對(duì)該行業(yè)深入了解,不要頻繁跳槽,特別是不要為了一點(diǎn)工資而轉(zhuǎn)移陣地,從長(zhǎng)遠(yuǎn)看,這點(diǎn)錢(qián)根本不算什么,當(dāng)你對(duì)一個(gè)行業(yè)有那么幾年的體會(huì),以后錢(qián)根本不是問(wèn)題。頻繁地動(dòng)蕩不是上策,最后你對(duì)哪個(gè)行業(yè)都沒(méi)有摸透,永遠(yuǎn)是新手!
2. 可以做技術(shù),切不可沉湎于技術(shù)。千萬(wàn)不可一門(mén)心思鉆研技術(shù)!給自己很大壓力,如果你的心思全部放在這上面,那么注定你將成為孔乙己一類的人物!適可而止為之,因?yàn)榧夹g(shù)只不過(guò)是你今后前途的支柱之一,而且還不是最大的支柱,除非你只愿意到老還是個(gè)工程師!
3. 不要去做技術(shù)高手,只去做綜合素質(zhì)高手!在企業(yè)里混,我們時(shí)常瞧不起某人,說(shuō)他“什么都不懂,憑啥拿那么多錢(qián),憑啥升官!”這是普遍的典型的工程師的迂腐之言。8051很牛嗎?人家能上去必然有他的本事,而且是你沒(méi)有的本事。你想想,老板搞經(jīng)營(yíng)那么多年,難道見(jiàn)識(shí)不如你這個(gè)新兵?人家或許善于管理,善于領(lǐng)會(huì)老板意圖,善于部門(mén)協(xié)調(diào)等等。因此務(wù)必培養(yǎng)自己多方面的能力,包括管理,親和力,察言觀色能力,攻關(guān)能力等,要成為綜合素質(zhì)的高手,則前途無(wú)量,否則只能躲在角落看示波器!技術(shù)以外的技能才是更重要的本 事!!從古到今,美國(guó)日本,一律如此!
4. 多交社會(huì)三教九流的朋友!不要只和工程師交往,認(rèn)為有共同語(yǔ)言,其實(shí)更重要的是和其他類人物交往,如果你希望有朝一日當(dāng)老板或高層管理,那么你整日面對(duì)的就是這些人。了解他們的經(jīng)歷,思維習(xí)慣,愛(ài)好,學(xué)習(xí)他們處理問(wèn)題的模式,了解社會(huì)各個(gè)角落的現(xiàn)象和問(wèn)題,這是以后發(fā)展的巨大的本錢(qián),沒(méi)有這些以后就會(huì)笨手笨腳,跌跌撞撞,遇到重重困難,交不少學(xué)費(fèi),成功的概率大大降低!
5. 知識(shí)涉獵不一定專,但一定要廣!多看看其他方面的書(shū),金融,財(cái)會(huì),進(jìn)出口,稅務(wù),法律等等,為以后做一些積累,以后的用處會(huì)更大!會(huì)少交許多學(xué)費(fèi)!!
6. 抓住時(shí)機(jī)向技術(shù)管理或市場(chǎng)銷售方面的轉(zhuǎn)變!要想有前途就不能一直搞開(kāi)發(fā),適當(dāng)時(shí)候要轉(zhuǎn)變?yōu)楣芾砘蜾N售,前途會(huì)更大,以前搞技術(shù)也沒(méi)有白搞,以后還用得著。搞管理可以培養(yǎng)自己的領(lǐng)導(dǎo)能力,搞銷售可以培養(yǎng)自己的市場(chǎng)概念和思維,同時(shí)為自己以后發(fā)展積累龐大的人 脈!應(yīng)該說(shuō)這才是前途的真正支柱。。?
7. 逐漸克服自己的心里弱點(diǎn)和性格缺陷!多疑,敏感,天真(貶義,并不可愛(ài)),猶豫不決,膽怯,多慮,臉皮太薄,心不夠黑,教條式思維。。。這些工程師普遍存在的性格弱點(diǎn)必須改變!很難嗎?只在床上想一想當(dāng)然不可能,去幫朋友守一個(gè)月地?cái)偅鼫?zhǔn)有效果,去實(shí)踐,而不要只想!不克服這些缺點(diǎn),一切不可能,甚至連項(xiàng)目經(jīng)理都當(dāng)不好--盡管你可能技術(shù)不錯(cuò)!
8. 工作的同時(shí)要為以后做準(zhǔn)備!建立自己的工作環(huán)境!及早為自己配置一個(gè)工作環(huán)境,裝備電腦,示波器(可以買(mǎi)個(gè)二手的),仿真器,編程器等,業(yè)余可以接點(diǎn)活,一方面接觸市場(chǎng),培養(yǎng)市場(chǎng)感覺(jué),同時(shí)也積累資金,更重要的是準(zhǔn)備自己的產(chǎn)品,咱搞技術(shù)的沒(méi)有錢(qián),只有技術(shù),技術(shù)的代表不是學(xué)歷和證書(shū),而是產(chǎn)品,拿出象樣的產(chǎn)品,就可技術(shù)轉(zhuǎn)讓或與人合作搞企業(yè)!先把東西準(zhǔn)備好,等待機(jī)會(huì),否則,有了機(jī)會(huì)也抓不住!
9. 要學(xué)會(huì)善于推銷自己!不僅要能干,還要能說(shuō),能寫(xiě),善于利用一切機(jī)會(huì)推銷自己,樹(shù)立自己的品牌形象,很必要!要?jiǎng)?chuàng)造條件讓別人了解自己,不然老板怎么知道你能干?外面的投資人怎么相信你?提早把自己推銷出去,機(jī)會(huì)自然會(huì)來(lái)找你!搞個(gè)個(gè)人主頁(yè)是個(gè)好注意!!特別是培養(yǎng)自己在行業(yè)的名氣,有了名氣,高薪機(jī)會(huì)自不在話下,更重要的是有合作的機(jī)會(huì)...
10. 該出手時(shí)便出手!永遠(yuǎn)不可能有100%把握!!!條件差不多就要大膽去干,去闖出自己的事業(yè),不要猶豫,不要彷徨,干了不一定成功,但至少為下一次沖擊積累了經(jīng)驗(yàn),不干永遠(yuǎn)沒(méi)出息,而且要干成必然要經(jīng)歷失敗。不經(jīng)歷風(fēng)雨,怎么見(jiàn)彩虹,沒(méi)有人能隨隨便便成功 !
2010年11月8日
注意幾點(diǎn):
1.類中的static變量或函數(shù)不占類的空間;
2.如果有虛函數(shù)(不管有多少個(gè)),有且只包含一個(gè)指向虛函數(shù)表的指針,占4個(gè)字節(jié);
3.非虛函數(shù)不占空間;
4.一個(gè)空類的大小為1;
現(xiàn)舉幾個(gè)例子:
1. class A
{
static int i;
int j;
};
sizeof(A)=4;
2. class A
{
static int i;
int j;
virtual fun();
};
sizeof(A)=8;
3.class A
{
static int i;
int j;
virtual fun();
virtual fun2();
void fun3();
};
sizeof(A)=8;
4.classA
{
}
sizeof(A)=1;
5.class A
{
static int i;
int j;
virtual fun();
};
class B:public A
{
virtual fun();
virtual fun2();
void fun3();
};
sizeof(B)=8;
2010年11月7日
C中格式字符串printf()的一般形式為: %[標(biāo)志][輸出最小寬度][.精度][長(zhǎng)度]類型, 其中方括號(hào)[]中的項(xiàng)為可選項(xiàng)。各項(xiàng)的意義介紹如下:
1.類型:
表示輸出類型的格式字符 格式字符意義
a 浮點(diǎn)數(shù)、十六進(jìn)制數(shù)字和p-計(jì)數(shù)法(C99)
A 浮點(diǎn)數(shù)、十六進(jìn)制數(shù)字和p-計(jì)數(shù)法(C99)
c 輸出單個(gè)字符
d 以十進(jìn)制形式輸出帶符號(hào)整數(shù)(正數(shù)不輸出符號(hào))
e 以指數(shù)形式輸出單、雙精度實(shí)數(shù)
E 以指數(shù)形式輸出單、雙精度實(shí)數(shù)
f 以小數(shù)形式輸出單、雙精度實(shí)數(shù)
g 以%f%e中較短的輸出寬度輸出單、雙精度實(shí)數(shù),%e格式在指數(shù)小于-4或者大 于等于精度時(shí)使用
G 以%f%e中較短的輸出寬度輸出單、雙精度實(shí)數(shù),%e格式在指數(shù)小于-4或者大于等于精度時(shí)使用
i 有符號(hào)十進(jìn)制整數(shù)(與%d相同)
o 以八進(jìn)制形式輸出無(wú)符號(hào)整數(shù)(不輸出前綴O)
p 指針
s 輸出字符串
x 以十六進(jìn)制形式輸出無(wú)符號(hào)整數(shù)(不輸出前綴OX)
X 以十六進(jìn)制形式輸出無(wú)符號(hào)整數(shù)(不輸出前綴OX)
u 以十進(jìn)制形式輸出無(wú)符號(hào)整數(shù)
2.標(biāo)志
標(biāo)志字符為-、+、#、空格和0五種,其意義下表所示:
標(biāo)志格式字符 標(biāo) 志 意 義
- 結(jié)果左對(duì)齊,右邊填空格
+ 輸出符號(hào)(正號(hào)或負(fù)號(hào))
空格 輸出值為正時(shí)冠以空格,為負(fù)時(shí)冠以負(fù)號(hào)
# 對(duì)c,s,d,u類無(wú)影響;對(duì)o類,在輸出時(shí)加前綴0;對(duì)x類, 在輸出時(shí)加前綴0x或者0X;
對(duì)g,G 類防止尾隨0被刪除;對(duì)于所有的浮點(diǎn)形式,#保證了即使不跟任何數(shù)字,也打印一個(gè)小數(shù)點(diǎn)字符
0 對(duì)于所有的數(shù)字格式,用前導(dǎo)0填充字段寬度,若出現(xiàn)-標(biāo)志或者指定了精度(對(duì)于整數(shù)),忽略
3.輸出最小寬度
用十進(jìn)制整數(shù)來(lái)表示輸出的最少位數(shù)。若實(shí)際位數(shù)多于定義的寬度,則按實(shí)際位數(shù)輸出,若實(shí)際位數(shù)少于定義的寬度則補(bǔ)以空格或0。
4.精度
精度格式符以“.”開(kāi)頭,后跟十進(jìn)制整數(shù)。本項(xiàng)的意義是:如果輸出數(shù)字,則表示小數(shù)的位數(shù);如果輸出的是字符,則表示輸出字符的個(gè)數(shù);若實(shí)際位數(shù)大于所定義的精度數(shù),則截去超過(guò)的部分。
5.長(zhǎng)度
長(zhǎng)度格式符為h,l兩種,h表示按短整型量輸出,l表示按長(zhǎng)整型量輸出。
h和整數(shù)轉(zhuǎn)換說(shuō)明符一起使用,表示一個(gè)short int 或者unsigned short int類型的數(shù)值 ,示例:
%hu,%hx,%6.4hd
hh和整數(shù)轉(zhuǎn)換說(shuō)明符一起使用,表示一個(gè)short int 或者unsigned short類型的數(shù)值 ,示例:
%hhu,%hhx,%6.4hhd
j和整數(shù)轉(zhuǎn)換說(shuō)明符一起使用,表示一個(gè)intmax_t或者uintmax_t類型的數(shù)值 ,示例:
%jd,%8jx
l和整數(shù)轉(zhuǎn)換說(shuō)明符一起使用,表示一個(gè)long int 或者unsigned long int類型的數(shù)值 ,示例:
%ld,%8lu
ll和整數(shù)轉(zhuǎn)換說(shuō)明符一起使用,表示一個(gè)long int 或者unsigned long int類型的數(shù)值 (C99),示例:
%lld,%8llu
L和浮點(diǎn)轉(zhuǎn)換說(shuō)明符一起使用,表示一個(gè)long double的值,示例:%Lf,%10.4Le
t和整數(shù)轉(zhuǎn)換說(shuō)明符一起使用,表示一個(gè)ptrdiff_t值(兩個(gè)指針之間的差相對(duì)應(yīng)的類型)(C99),示例:
%td,%12ti
z和整數(shù)轉(zhuǎn)換說(shuō)明符一起使用,表示一個(gè)size_t值(sizeof返回的類型)(C99),示例:%zd,%12zx
使用printf函數(shù)時(shí)還要注意一個(gè)問(wèn)題,那就是輸出表列中的求值順序。不同的編譯系統(tǒng)不一定相同,可以從左到右,也可從右到左。Turbo C是按從右到左進(jìn)行的。
2010年11月3日
2010年11月1日
1. Google API (
http://code.google.com/intl/zh-CN/more/)
里面包含了各種各樣的API,如Android(Android SDK提供了API用于在支持Android系統(tǒng)的設(shè)備上開(kāi)發(fā)應(yīng)用程序), Google App Engine(提供一個(gè)基礎(chǔ)架構(gòu),讓你快速開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序),Google自定義搜索API(為你的網(wǎng)站創(chuàng)建自定義搜索引擎),Google數(shù)據(jù)API(一種簡(jiǎn)單的標(biāo)準(zhǔn)協(xié)議,用于在網(wǎng)絡(luò)上傳輸數(shù)據(jù)),KML(使用 Google 地球、Google 地圖和手機(jī)地圖來(lái)創(chuàng)建和共享內(nèi)容),Google Sitemaps(使 Google 可以快速抓取您的網(wǎng)站),等等。每一個(gè)API都有相應(yīng)的網(wǎng)站和論壇,可以從中獲取詳細(xì)的信息。
2. Google Labs(
http://www.googlelabs.com/)
Google 實(shí)驗(yàn)室中的項(xiàng)目是由Google 的工程師在業(yè)余時(shí)間構(gòu)建的,旨在展示一些奇思妙想,并非提供完善的Google 產(chǎn)品,用戶可以向開(kāi)發(fā)他們的工程師提供反饋,這些項(xiàng)目以后可能會(huì)集成在Google.com中,也可能永遠(yuǎn)消失。
這個(gè)貌似與開(kāi)發(fā)人員沒(méi)什么關(guān)系,不過(guò)可以看到Google的工程師的一些奇思妙想,比如我個(gè)人就對(duì)其中一個(gè)項(xiàng)目(Google Image Swirl)很感興趣,這個(gè)項(xiàng)目是根據(jù)圖片的外觀和語(yǔ)義相似程度進(jìn)行檢索圖片,在準(zhǔn)確性和實(shí)時(shí)性上都極有挑戰(zhàn)性!佩服工程師
景宇石 (Yushi Jing)和
Henry Rowley!
3. Goolge的開(kāi)源計(jì)劃(
http://code.google.com/intl/zh-CN/opensource/)
3.1 開(kāi)源項(xiàng)目托管(
http://code.google.com/intl/zh-CN/projecthosting/)
Google 代碼上的項(xiàng)目托管是快速、可靠、簡(jiǎn)單的開(kāi)放源代碼托管服務(wù)。Google 代碼上的項(xiàng)目托管使您可以:
- 立即創(chuàng)建有關(guān)任何主題的項(xiàng)目;
- 獲得具有 1 千兆字節(jié)的存儲(chǔ)空間的 Subversion 代碼托管以及具有 2 千兆字節(jié)的存儲(chǔ)空間的下載托管支持;
- 通過(guò)集成的源代碼瀏覽和代碼檢查工具,輕松地查看代碼、檢查貢獻(xiàn)以及維護(hù)高質(zhì)量代碼庫(kù);
- 使用簡(jiǎn)單卻靈活而強(qiáng)大,并且可適應(yīng)任何開(kāi)發(fā)過(guò)程的問(wèn)題追蹤器和項(xiàng)目 Wiki;
- 通過(guò)標(biāo)星號(hào)和更新流,輕松地跟蹤您所關(guān)注的項(xiàng)目及開(kāi)發(fā)人員;
3.2編程之夏(http://code.google.com/intl/zh-CN/soc/)
Google的王牌項(xiàng)目,專用于向大學(xué)生介紹開(kāi)放源代碼開(kāi)發(fā),Google通過(guò)這個(gè)計(jì)劃培養(yǎng)新的開(kāi)源軟件開(kāi)發(fā)人員。
3.3Google提供的代碼(http://code.google.com/hosting/search?q=label:google)
大概一百多萬(wàn)行代碼和一百多個(gè)項(xiàng)目,或許就有你感興趣的。
2010年10月30日
《C++數(shù)據(jù)結(jié)構(gòu)原理與經(jīng)典問(wèn)題求解》-左飛編著,電子工業(yè)出版社,個(gè)人認(rèn)為很適合初學(xué)者學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),勘誤表如下,點(diǎn)擊可下載!
數(shù)據(jù)結(jié)構(gòu)勘誤表
該書(shū)本來(lái)還提供源碼,但下載網(wǎng)址已失效,本人聯(lián)系過(guò)左飛老師,但他也沒(méi)有備份,給我發(fā)來(lái)了一份勘誤表,非常感激!
2010年10月28日
1.為什么標(biāo)準(zhǔn)頭文件中都有如下結(jié)構(gòu)(比如stdio.h文件):
#ifndef _INC_STDIO //這個(gè)宏防止頭文件被重復(fù)包含
#define _INC_STDIO
#ifdef __cplusplus //保證能同時(shí)被C編譯器和C++編譯器調(diào)用。
extern "C" {
#endif
/*...
.....
*/
#ifdef __cplusplus
}
#endif
#endif /* _INC_STDIO*/
在C++中,extern "C"的作用是告訴C++編譯器對(duì)它聲明的函數(shù)編譯時(shí)要按照C編譯器的方式,這樣才能保證在鏈接時(shí)找到對(duì)應(yīng)的函數(shù)。
比如對(duì)于函數(shù):
void foo( int x, int y );
C編譯方式:函數(shù)名變?yōu)開(kāi)foo
C++的編譯方式:函數(shù)名變?yōu)開(kāi)foo_int_int【這也說(shuō)明了為什么C++支持函數(shù)重載。】
實(shí)際上,C++中的extern "C"是對(duì)關(guān)鍵字extern 的重載【extern關(guān)鍵字使得函數(shù)/變量可以被其它文件訪問(wèn),與static正好相反。】,extern "C"的功能是改變C++的編譯方式。
2.C/C++混合編程:
(1)如果C++調(diào)用一個(gè)C語(yǔ)言編寫(xiě)的.DLL時(shí),在包含.DLL的頭文件前,應(yīng)加extern "C" ,如下所示:
extern "C" //由于標(biāo)準(zhǔn)頭文件里面都已經(jīng)加上了extern "C",如上述1所示,所以我們不用再加了。
{
#include "cExample.h"
}
(2)在C中引用C++編寫(xiě)的函數(shù)庫(kù)時(shí),C++的頭文件中的函數(shù)前需添加extern "C",而且在C程序中不能直接包含該頭文件,應(yīng)該在C程序的函數(shù)前加上extern關(guān)鍵字。
2010年10月27日
Interviewer : Please make a brief introduction about yourself.
Me:
Well, First, I’m really appreciated for getting the chance for this interview.
Now, I’ll briefly introduce myself:
Basic Information:
My Chinese name is Job, English name is Oliver(O-L-I-V-E-R), I’m 23 years old. I come from a famous revolutionary base---JiangXi province. My major is control theory and application. I’ll receive the master degree of HZ Dianzi university next march.
Project:[I have been participating in our lab project since 2008.10, and until 2010.9(last month) when the project is completed. From the project, I have developed communicative skills[up to now, I have written about 20 emails to foreign experts discussing some academic points and most of the time could got the reply], English reading skills[I have kept reading English literatures for almost two years during my graduate study. So, there is no problem for me to reading English materials], learning abilities and teamwork spirits]
Study:
I’m proud that I’ve been doing quite well with my study. For example, I’ve passed the CET-4/6 with a satisfactory score during my college and I’m confident that my proficiency in both written &spoken English is qualified to work in a foreign firm. Besides, I’ve got several scholarships for my excellent performance. My GPA is over 85---top 5 in my class.
Activities: I have once assisted our association chief in organizing classmates to visit ZJ university for academic exchange. They enjoyed themselves very much during this trip, maybe I could show you the photos some other day if possible^_^.
Personality: First, I’m a pragmatic and persistent person. I am responsible for my work and finish it satisfactory. Second, I’m a passionate person. I have strong sense of initiatives and self motivation. Third, I’m willing to learn, whenever I found myself ignorant of something, I’ll make a plan and study according to the plan. Recently I’m studying Linux, DB etc.
Impression:
My classmates thought me as a dedicative, passionate, professional and cooperative person.
Hobbies: I start a blog in the CSDN-website. I often write some technical articles on it , I hope the total visit will reach 1 million someday^_^. Apart from writing, I also like workout. Now I’m a old member of the nearby gym.
Reason:
Now I’ll give some reasons why I apply for this position:
First, the job’s duties are in line with my interest. I like to research and develop technology. Second, my major background and professional skills are qualified for this position. Third, my career goal is to become a senior expert. From your campus talk, I learned that your company encourages staff to develop toward this direction and provide an sound way to help them. Thus, I believe I could achieve my goal in your firm.
Finally, I hope to join you and grow up with your company.
That’s a brief introduction about myself. Thank you.
PS:
if asked a question you don't konw, you should say: I'm working on it.
if asked a question you know well, you should explain it detaily and extend it if possible.
2010年10月26日
printf(_ _FILE_ _); //輸出當(dāng)前文件名,兩個(gè)下劃線
printf("\n%d",_ _LINE_ _);//輸出當(dāng)前行號(hào)