Time of Update: 2018-12-05
在安裝gcc時,可能會提示要求安裝下面幾個軟體包:binutils-2.13.90.0.18-9.i386.rpmcpp-3.2.2-5.i386.rpmglibc-devel-2.3.2-11.9.i386.rpm首先在red hat第一張光碟片中尋找以上三個軟體包,並安裝它們。[root@RedHat9 mnt]# mount /dev/cdrom /mnt/cdrom/mount: block device /dev/cdrom is write-protected, mounting
Time of Update: 2018-12-05
服務端配置:SQL> create tablespace tbs_rman datafile 'H:\oradata\test\tbs_rman.dbf' size 20m autoextend on; Tablespace created SQL> create user rman identified by oracle default tablespace tbs_rman temporary tablespace temp; User created SQL>
Time of Update: 2018-12-05
1. 概述一般而言我們建立用於接收error的類型大多聲明如下:boost::system::error_code error我們用這個類型去接受在函數中產生的錯誤, 如: socket.connect(endpoint, error);如果串連失敗,錯誤類型會儲存到error中,比如串連主機失敗可能會返回這樣的錯誤boost::asio::error::host_not_found;通過if(error)檢測到error後,拋出異常throw
Time of Update: 2018-12-05
1. UL是美國非強制認證2. FCC是美國強制認證,強制產品如下: Federal Communications Commission(FCC),美國聯邦通訊委員會,規定了IT產品、工業、科學和醫療設備、家電產品、通訊產品的電磁幹擾的極限及計量方法。根據美國聯邦通訊法規相關部分(CFR 47部分)的規定, FCC是美國聯邦法律規定進口電子產品必須通過的EMC相關認證。下面是常用的FCC標準對應的適用產品: FCC PART 15:ITE產品(電腦及周邊產品、網路裝置等資訊技術裝置)、
Time of Update: 2018-12-05
LOWORD()得到一個32bit數的低16bit HIWORD()得到一個32bit數的高16bitLOBYTE()得到一個16bit數最低(最右邊)那個位元組HIBYTE()得到一個16bit數最高(最左邊)那個位元組LOWORD, HIWORD這個以前就很常用到, 比如訊息參數 lParam 中存放著滑鼠位置. lParam 是 4 位元組的, 它的低兩位存放 x、高兩位存放 y. 但是, 我對LOBYTE, HIBYTE的理解一直不對.當LOBYTE,
Time of Update: 2018-12-05
io_service::work類可以使io_service::run函數在沒有任務的時候仍然不返回,直至work對象被銷毀。void test_asio_nowork(){boost::asio::io_service ios;PRINT_DEBUG("ios before");ios.run();PRINT_DEBUG("ios end");}void test_asio_work(){boost::asio::io_service ios;// 增加一個work對象boost::asio:
Time of Update: 2018-12-05
1. asio::buffer常用的構造方法asio::buffer有多種的構造方法,而且buffer大小是自動管理的1.1 字元數組char d1[128];size_t bytes_transferred = socket.receive(boost::asio::buffer(d1));1.2 字元向量std::vector<char> d2(128);size_t bytes_transferred =
Time of Update: 2018-12-05
中國CCC認證,CQC認證日本PSE認證韓國EK-MARK認證俄羅斯GOST-R認證新加坡PSB認證; 美國UL認證,FCC認證,FDA認證,ETL認證加拿大CSA認證,CUL認證阿根廷S認證; 歐盟CE認證,德國TUV認證,VDE認證,GS安全認證英國BSI認證; 國際CB認證澳大利亞和新西蘭SAA認證,C-TICK認證沙特SASO認證科威特PAI認證有毒有害物質(重金屬)檢測、RoHS認證或測試(SGS)/防塵防水IP等級測試(可達IP88級)/玩具EN71認證
Time of Update: 2018-12-05
從開始接觸Boost已經有好幾年了,而對它的掌握卻難言熟悉,有對它部分的原始碼的剖析也是蜻蜓點水。有時間一點點梳理一下吧。1. 概述【Boost】C++ Boost庫簡介【Boost】C++ Boost 學習資源清單【Boost】Boost使用幾條簡單筆記【Boost】Poco vs Boost2. 工具【Boost】利用typeid來擷取變數的類型【Boost】boost::function介紹【Boost】boost::bind四種應用情境的例子3.
Time of Update: 2018-12-05
無論如何使用,都能感覺到使用boost.asio實現伺服器,不僅是一件非常輕鬆的事,而且代碼很漂亮,邏輯也相當清晰,這點上很不同於ACE。使用io_service作為處理工作的work
Time of Update: 2018-12-05
摘於boost官網的幾個例子, 做了點小修改, 筆記之.同步用戶端void test_asio_synclient(){typedef boost::asio::io_service IoService;// 該命名空間下有幾個常用類: accetpt, resolver, endpoint, sockettypedef boost::asio::ip::tcp TCP;try{IoService ios;boost::system::error_code error;// 1.
Time of Update: 2018-12-05
deadline_timer和socket一樣,都用io_service作為建構函式的參數。也即,在其上進行非同步作業,都將導致和io_service所包含的iocp相關聯。這同樣意味著在析構 io_service之前,必須析構關聯在這個io_service上的deadline_timer。1. 建構函式在構造deadline_timer時指定時間。basic_deadline_timer( boost::asio::io_service &
Time of Update: 2018-12-05
一、函數原型及參數 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word):
Time of Update: 2018-12-05
a:資料字典視圖名一般用複數,而動態效能檢視名一般用單數,比如dba_tablepsaces vs v$tablespace。b:資料字典視圖只有在資料庫open的情況下才可以訪問,而部分動態效能檢視可以在資料庫非open狀態下使用。c:資料字典視圖裡看到的列資訊一般都是大寫,而動態效能檢視裡看到的一般都是小寫。d:資料字典視圖裡的資訊是靜態,在資料庫關閉後不丟失;而動態效能檢視裡的資訊是動態,關閉instance後資訊丟失。擷取動態效能檢視的定義:select * from V_$
Time of Update: 2018-12-05
1-1實現了一個簡單的函數調用。重點是裡面對棧的應用。call返回時調用ret,後面有一個數字,代表調用時有多少位元組資料入棧。 1-2實現了代碼的自我搬移。include不能放在檔案開頭,因為程式執行時是從第一行開始。(可能能夠重定位,目前未知)搬移後標記的記憶體位址都需要重新調整。當使用短跳轉或短call調用的時候,標號不需要調整,因為這裡的運算元的間接地址,即兩個地址之間的差;當是長跳轉或長call調用的時候,運算元是絕對值,需要調整。訪問堆棧的間接定址中只能使用bp做位移。任何時候不要往
Time of Update: 2018-12-05
Oracle在安裝時需要compat-gcc,我在RHEL5.4時出現如下問題:[root@localhost rpm]# rpm -ivh compat-gcc-34-g77-3.4.6-4.i386.rpmwarning: compat-gcc-34-g77-3.4.6-4.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186error: Failed dependencies: compat-libf2c-34 = 3.4
Time of Update: 2018-12-05
1. DialogBoxINT_PTR DialogBox( HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc);這個函數根據對話方塊資源,建立一個強制回應對話方塊,這個對話方塊應該用EndDialog來結束。參數說明:1) hInstance 當前應用程式執行個體控制代碼。2) lpTemplate
Time of Update: 2018-12-05
2-1實現了記憶體的檢測。下一步:讀kernel.bin到記憶體。目前記憶體資訊放在8000:f000開始的4k空間中。以後此空間會被拷貝到“0頁”,即0x00104000處。Linux中關於記憶體檢測的參數在e820.h中。記憶體檢測結果如下:00 00 00 00 00 00 00 00 00 FC 09 00 00 00 00 00 01 00 00 0000 FC 09 00 00 00 00 00 00 04 00 00 00 00 00 00 02 00 00 0000 00 0
Time of Update: 2018-12-05
3-12006-1-9 23:43實現了和C函數的整合。ld -Ttext org之後的obj的順序似乎有講究。call 命令對堆棧的影響: 16位的實模式中,會將cs和ip壓棧,因此棧會減少4。 32位的保護模式中,如果是段內調用,只會將eip壓棧;如果是段間調用,會將eip和cs入棧,不過目前還沒遇到過這種情況。C函數呼叫慣例 參數從右向左入棧,在彙編中等調用完後,要手動將esp的值複位。 傳回值是4位元組時,通過eax傳遞;2位元組通過ax傳遞;1位元組通過al傳遞。3-22006-1-1
Time of Update: 2018-12-05
最近整理電腦,找到自己2年以前寫的一個作業系統,放到網上共用一下。當時的代碼有的地方看起來還比較幼稚。系統開始時的bootloader部分是參考《自己動手寫作業系統》做的,那本書裡面如何搭建環境寫得很詳細,另外還有一些PC的基本概念寫的也不錯,推薦大家看一下;從分段分頁開始我參考了Linux2.4的風格,沒有按照那本書上的走。調試環境是Virtual PC和Bochs。以下為當時寫的總結: 2006-1-26 20:40