找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2461|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

VII C++后的Unix C和Oracle

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:60076 發(fā)表于 2014-4-29 20:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
       C++完成有半個(gè)月了,在結(jié)束后的這段時(shí)間里開(kāi)始系統(tǒng)的學(xué)UC和Oracle,UC不過(guò)才研究了兩個(gè)星期,基本上都是一些基礎(chǔ)的操作,UC因?yàn)楸容^難,因此熟練度25%左右,Oracle相對(duì)來(lái)說(shuō)很簡(jiǎn)單,熟練度一開(kāi)始就應(yīng)該有45%,由于之后還有Windows系統(tǒng)和MFC幾大框架需要學(xué)習(xí),因此接下來(lái)只需要把UC提升到了解階段就ok了。至于說(shuō)熟悉階段、掌握階段以及應(yīng)用階段只有完成幾個(gè)項(xiàng)目后再來(lái)專精了。
       一方面是UC,Unix和windows一樣也是個(gè)系統(tǒng),擁有自己的函數(shù),UC換句話說(shuō)就是Unix環(huán)境下C語(yǔ)言的底層語(yǔ)言,再通過(guò)UC函數(shù)進(jìn)入內(nèi)核,因此在這個(gè)系統(tǒng)中UC效率比C語(yǔ)言要高,因?yàn)镃語(yǔ)言要首先轉(zhuǎn)換成UC語(yǔ)言。因?yàn)橐车臇|西多,所以我覺(jué)得有點(diǎn)難,接收的速度不夠快,所以呢只求理解、理解萬(wàn)歲!首先剛接觸UC的時(shí)候就是一大堆命令和基礎(chǔ)知識(shí),之前的大半年的編程都是用這個(gè)系統(tǒng),所以久而久之,用的多這些基本的命令也都記住了,比如mkdir創(chuàng)建一個(gè)文件、rmdir刪除文件、cd進(jìn)入或退出文件、gcc運(yùn)行C語(yǔ)言.c程序、g++運(yùn)行C++的.cpp程序,還有各種查看進(jìn)程、改權(quán)限、查看文件大小、復(fù)制文件、打包靜態(tài)庫(kù)\共享庫(kù)等等的操作。記得剛接觸這個(gè)系統(tǒng)來(lái)寫(xiě)C語(yǔ)言的第一個(gè)程序hello world的時(shí)候,我連Unix是什么東西都不知道,而且用的很糾結(jié)。話說(shuō)之前我只用過(guò)C語(yǔ)言寫(xiě)了單片機(jī)程序,都過(guò)去了2年了,沒(méi)想到2年之后又開(kāi)始接觸編程,不過(guò)不是嵌入式,而是電腦軟件方向的編程,因此自然就需要大量的數(shù)據(jù)輸入輸出,而我卻連一個(gè)最基本的printf和scanf都不會(huì)寫(xiě)。。。更何況是進(jìn)階的輸入輸出sprintf、getchar、fgets了,也不知道是啥時(shí)候開(kāi)始會(huì)寫(xiě)了,可能接觸時(shí)間長(zhǎng)了就會(huì)了。
       UC完成基本的操作后就能簡(jiǎn)單的用鍵盤(pán)在終端里操作各種文件,這時(shí)候不需要鼠標(biāo)操作了,也就是完全的鍵盤(pán)流,接下來(lái)才能夠進(jìn)行UC編程,在這個(gè)系統(tǒng)里UC可以完全代替C語(yǔ)法,畢竟是C的底層,因此真的要精通比C還要難,話說(shuō)有人研究了2年內(nèi)存管理都還沒(méi)完全搞明白。第一通過(guò)UC編程能夠修改UC的環(huán)境變量,換句話說(shuō)就是修改命令,這一點(diǎn)和修改快捷鍵是一樣的。第二UC可以和C一樣進(jìn)行內(nèi)存管理,C語(yǔ)言是malloc和free操作;C++是new和delete操作;而UC是sbrk、brk、mmap、munmap函數(shù)來(lái)操作了,復(fù)雜度也是UC最高,經(jīng)常容易分配內(nèi)存出紕漏,要么就內(nèi)存用完了,要么就是用錯(cuò)了地方。第三就是UC的文件操作,和C的文件操作一樣用UC系統(tǒng)函數(shù)操作了,但需要自己操作緩沖區(qū),這一點(diǎn)是C語(yǔ)言沒(méi)有的,因此越進(jìn)入底層,操作的東西就越多,也越麻煩,就像java編程沒(méi)有內(nèi)存管理。因此也就容易多了。總體來(lái)說(shuō)Windows和Unix雖然系統(tǒng)不同,但原理都是差不多的,虛擬內(nèi)存、內(nèi)存映射、共享庫(kù)、信號(hào)通信、進(jìn)程和線程的原理等等,主要差別就在于函數(shù)的不同和用法的不同。
       另一方面的數(shù)據(jù)庫(kù)Oracle,終于把查詢部分學(xué)了一半,比如一個(gè)嵌套的查詢,顯示出每個(gè)人的姓名和職稱,如果沒(méi)有職稱則顯示為老板:    select first_name,nvl(to_char(manager_id),'BOSS') from s_emp; 查詢語(yǔ)句最基本的關(guān)鍵字就是select和from,語(yǔ)句都不能離開(kāi)它們,然后才有其它的關(guān)鍵字,比如排除重復(fù)的排重顯示關(guān)鍵字distinct,能夠把滿足的數(shù)據(jù)排除重復(fù)后再輸出數(shù)據(jù)、空值NULL的處理關(guān)鍵字nvl、更加深入的限制數(shù)據(jù)關(guān)鍵字where,能夠過(guò)濾不滿足要求的數(shù)據(jù)、將一系列數(shù)據(jù)從小到大的排序關(guān)鍵字order by、各種查詢的函數(shù),實(shí)現(xiàn)各種更高級(jí)的查找功能,以及一些運(yùn)算符,用來(lái)實(shí)現(xiàn)表中所有滿足數(shù)據(jù)計(jì)算后的結(jié)果。剩下還有一半的查詢就是接下來(lái)的需要了解的內(nèi)容了。
       所以啊,精通一個(gè)技術(shù)還真不容易,感覺(jué)永遠(yuǎn)都精通不了,我算是體會(huì)了。IT就是這樣,知識(shí)更新也快,而且又不是那么好學(xué),我感覺(jué)我腦筋不夠用了,能否再加個(gè)內(nèi)存條? 多線程記憶和思考......這也只是幻想而已,因?yàn)楝F(xiàn)在還沒(méi)發(fā)展到納米時(shí)代,每天一覺(jué)醒來(lái),看看周圍,就想吐槽,切!怎么還是這個(gè)時(shí)代。希望明天一起來(lái)就發(fā)現(xiàn)已經(jīng)從信息時(shí)代升級(jí)到數(shù)字時(shí)代,后天一起來(lái)就發(fā)現(xiàn)已經(jīng)從數(shù)字時(shí)代升級(jí)到納米時(shí)代,這樣才對(duì)嘛......
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表