原创 程序運行時加載動態庫cannot restore segment prot after reloc: Permission denied錯誤解決方法
有時候我們使用一些開源庫時,程序編譯鏈接後生成可執行文件後運行會出現無法加載動態庫的情況, ./a.out: error while loading shared libraries: XXX.so.50: cannot r
原创 pirntf 和fprintf and 全局變量errno
一 printf 和fprintf 的關係 1 printf() #include <stdio.h> int printf( const char *format, ... ); printf()函數根據format(格式)給出的格式
原创 SysErrorMessage 函數和系統錯誤信息表
在看 API 文檔時, 我們經常見到 GetLastError; 它可以返回操作後系統給的提示. 但 GetLastError 返回的只是一個信息
原创 boost::time_wait的例子
boost的線程庫不能強行終止,所以通過time_wait可以讓其自然的結束 1 #include <iostream> 2 #include <boost/thread/thread.hpp> 3 #include <boost/thr
原创 linux下 用cpuid指令讀取CPU信息
#include <stdio.h>int main(){ unsigned int eflags1, eflags2 = 0; unsigned int eax = 0; unsigned int ebx,ecx,ed
原创 TFTP介紹2
TFTP(TrivialFileTransferProtocol)即簡單文件傳送協議,最初打算用於引導無盤系統(通常是工作站或X終端)。和將在第27章介紹的使用TCP的文件傳送協議(FTP)不同,爲了保持簡單和短小,TFTP將使用UDP。
原创 用ASIO編寫UDP通信程序
UDP協議 ASIO的TCP協議通過boost::asio::ip名空間下的tcp類進行通信,舉一返三:ASIO的UDP協議通過boost
原创 關於字符集的專題知識 UTF-8 GB2312 UNICODE
此文介紹了UTF8和GB2312間的互換並提供代碼,但是代碼有誤,現修改如下: class CChineseCodeLib { public: static void UTF_8ToGB2312(string& pOut,char
原创 std 異常
頭文件 <exception> C++標準異常類層次結構: std::exception 基類 std::logic_error std::domain_error std::invalid_argument std::leng
原创 IPv4 和 IPv6 頭部結構主要區別
31 0 |----|----|------|--|-------------------|---------- |ver |ihl | -tos |
原创 ioctl 設置非阻塞SOCKET函數
windows 方法: u_long mode = 0;ioctlsocket(s,FIONBIO,&mode);控制爲阻塞方式。 u_long mode = 1;ioctlsocket(s,FIONBIO,&mode);控制爲非阻塞方式
原创 C語言的數據類型
ANSI C/C++基本數據類型: Type Size 數值範圍 無值型void 0 byte 無值域 布爾型bool 1 byte true false 有符號短整型short [
原创 Tcpdump的使用
tcpdump採用命令行方式,它的命令格式爲: tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ] [ -i 網絡接口 ] [ -r 文件名] [ -s snaplen ]
原创 c格式化輸出
一、printf()函數 printf()函數是格式化輸出函數,一般用於向標準輸出設備按規定格式輸出信息。在編寫程序時經常會用到此函數。printf()函數的調用格式爲: printf("<格式化字符串>", <參量表>); 其中格式化
原创 Windows XP 啓動過程詳解
我們每天都在和 Windows 打交道,很多人可能每天都要面對多次 Windows 的啓動過程,可是您知道在 Windows 的啓動過程背後,隱藏着什麼祕密嗎?在這一系列過程中都用到了哪些重要的系統文件?系統的啓動分爲幾個步驟?在這