可以認為rand()在每次被調用的時候,它會查看:1) 如果使用者在此之前調用過srand(seed),給seed指定了一個值,那麼它會自動調用srand(seed)一次來初始化它的起始值。2) 如果使用者在此之前沒有調用過srand(seed),它會自動調用srand(1)一次。1) 如果希望rand()在每次程式運行時產生的值都不一樣,必須給srand(seed)中的seed一個變值,這個變值必須在每次程式運行時都不一樣(比如到目前為止流逝的時間)。2)
在BSP的Drivers目錄下,建立新驅動程式的目錄,比如MyDriver 修改dirs檔案,在變數DIRS中增加新目錄MyDriver 建立檔案Sources,內容如下:TARGETNAME=MyDriverRELEASETYPE=PLATFORMTARGETTYPE=DYNLINKDEFFILE=MyDriver.defDLLENTRY=DllEntryTARGETLIBS=
exit(0):正常運行程式並退出程式;exit(1):非正常運行導致退出程式;return():返回函數,若在主函數中,則會退出函數並返回一值。詳細說: 1. return返回函數值,是關鍵字; exit 是一個函數。 2. return是語言層級的,它表示了呼叫堆疊的返回;而exit是系統調用層級的,它表示了一個進程的結束。 3. return是函數的退出(返回);exit是進程的退出。 4. return是C語言提供的,exit是作業系統提供的(或者函數庫中給出的)。 5.
#include <stdio.h>#include <sys/ipc.h>#include <sys/shm.h>#include <unistd.h>#include <string.h>#include <stdlib.h>#include <ctype.h>#include <stdio.h>#define SEGSIZE 100void usage(){ fprintf(stderr,
原文地址:http://www.cnblogs.com/myblesh/articles/2452030.html大家用source insight看linux源碼的時候都遇到這麼一個麻煩,makefile和kconfig中的文字在搜尋的時候不能找到,這是因為source insight預設是不選makefile的,也沒有konfig這種類型的檔案。下面就講一下 如何添加makefile:開啟Source Insight,在建立工程之前,進入Options -> Document
Unix檔案和目錄存取權限可以看成是一個3*3矩陣的形式。也就是三個訪問對象(owner,groups,others 即 擁有者,使用者組,其他),每個對象有三種存取權限(read,write,execute 即 讀,寫,執行)。 111的二進表示就是7,100就是4如果你讓它可讀也可寫就是110 (6)你可以通過ls -l 命令來查看檔案或目錄的使用權限設定,輸出中的第二個字元到第十個字元,這九個字元表示三種使用者類型分別的三種存取權限。-rw-r--r-- 1 sathiya
使用GCC編譯器時,如果連結到一些比較老的靜態庫,經常會碰到這個錯誤:undefined reference to '__ctype_b' 這是一個相容性錯誤,這個錯誤出現的原因是,在glibc 2.3.2-11及其之後的C庫版本,移除了__ctype_b和相關symbal的定義,因為它和新locale模型存在衝突無法並存,這意味著使用Redhat 7.3編譯的C靜態庫,沒有辦法在RedHat 9及之後的版本保持二進位相容(這些symbal在RedHat
sscanf 用法 名稱: sscanf() - 從一個字串中讀進與指定格式相符的資料. 函數原型: Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... );
在WinCE中,有3種方式可以使系統進入休眠:1、使用者在開始菜單選擇掛起2、使用者短按電源鍵,請求系統進入休眠(需要電源按鍵驅動的支援,比如設為長按關機,短按休眠)3、使用者長時間無操作,系統狀態由POWER_STATE_ON轉為POWER_STATE_USERIDLE,POWER_STATE_IDLE狀態,最後進入POWER_STATE_SUSPEND即休眠狀態 休眠之前,對於支援電源管理的驅動,系統會調用此驅動的XXX_PowerDown介面關閉裝置電源,之後系統會調用OEMPowerOf
終端IO終端IO有兩種模式: 1. 規範模式。在這種模式下,輸入以行為單位進行處理。每次讀請求終端驅動都返回一行。 2. 非規範模式。輸入字元不編成一行。預設情況下系統採用規範模式。POSIX。1定義了 11種特殊輸入字元,它們中的9種可以改變。 <termios.h>Struct termios{ Tcflag_t c_iflag; //input flags Tcflag_t c_oflag; //output flags
字串讀寫函數fgets和fputs一、讀字串函數fgets函數的功能是從指定的檔案中讀一個字串到字元數組中,函數調用的形式為: fgets(字元數組名,n,檔案指標); 其中的n是一個正整數。表示從檔案中讀出的字串不超過 n-1個字元。在讀入的最後一個字元後加上串結束標誌'\0'。例如:fgets(str,n,fp);的意義是從fp所指的檔案中讀出n-1個字元送入 字元數組str中。[例10.4]從e10_1.c檔案中讀入一個含10個字元的字串。#includemain(){FILE
系統建立IPC通訊(如訊息佇列、共用記憶體時)必須指定一個ID值。通常情況下,該id值通過ftok函數得到。ftok原型如下:key_t ftok( char * fname, int id )參數說明: fname就時您指定的文檔名 id是子序號。傳回值: 在一般的UNIX實現中,是將文檔的索引節點號取出,前面加上子序號得到key_t的傳回值。 如指定文檔的索引節點號為65538
最近做的項目中,有一個在WinCE平台上跑的程式,後來隨著項目的發展,要求此程式在PC上也能跑。感謝VS 2005提供的多平台支援,只需要幾分鐘就可以解決這個問題,方法很簡單,下面是我處理的過程。 1.在組態管理中增加新平台 1.1 建立新平台程式最初是基於Pocket PC 2003(ARMV4)平台建立的,我在此平台的配置基礎上,建立新的Win32平台。開啟菜單Build->Configuration Manager,在Active Solution
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(通訊端): 指向一個開啟的套介面描述字level:(層級): 指定選項代碼的類型。SOL_SOCKET: 基本套介面IPPROTO_IP: IPv4套介面IPPROTO_IPV6: IPv6套介面IPPROTO_TCP: TCP套介面optname(選項名): 選項名稱optval(選項值): 是一個指向變數的指標 類型:整形,套介面結構,
一直記不住 char * const p, char const *p, const char *p 這三個指標間的區別,今天早上想了個辦法…… 首先,引用眾家對它們的定義: char * const p; // 常量指標,p的值不可以修改。 char const *p; // 指向常量的指標,*p的值不可以修改。 const char *p; // 同char const *p。 其次,記住這三者之中的兩個相同者。
VERSION = 1 PATCHLEVEL = 1SUBLEVEL = 6EXTRAVERSION =U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) # $(xxx)相當於c中的宏定義,$(VERSION)即為 1,因為 VERSION = 1 ,其他三個類似VERSION_FILE = $(obj)include/version_autogenerated.h
原型:extern int tolower(int c); 用法:#i nclude <ctype.h> 功能:將字元c轉換為小寫英文字母 說明:如果c為大寫英文字母,則返回對應的小寫字母;否則返回原來的值。 舉例: // tolower.c #i nclude <syslib.h> #i nclude <ctype.h> main() { char
dup函數:複製檔案描述符相關標頭檔:#include <unistd.h>函數運算式:int dup(int filedes);參數說明:dup的函數參數filedes表示需要複製的檔案的檔案描述符傳回值說明:如果成功複製一個檔案返回新的檔案描述符,失敗則返回-1函數功能詳解:dup函數總是找到進程檔案表中的第一個可用的檔案描述符,將參數指定的檔案描述符複製到該描述符後,返回這個描述符。函數使用說明:
Redhat Linux企業版免費發布,但支援人員和更新是需要收服務費的,如果我們的RHEL沒註冊到RHN,那就沒法通過yum下載更新軟體包。CentOS是使用RHEL公布的原始碼重新編譯的Linux發行版,大部分情況下CentOS的軟體包和RHEL完全一致,因此我們可以放心的讓yum指向CentOS的源下載和更新軟體包。國內CentOS的鏡像中,163對於普通互連網使用者來說,下載速度相當快,因此這裡採用163的CentOS作為更新源。下載163提供的CentOS更新源進入yum源配置目錄(/
這是模擬器上的資訊:01-29 02:42:41.962: V/PhoneInfo(1002): DeviceID = 00000000000000001-29 02:42:41.992: V/PhoneInfo(1002): DeviceSoftwareVer = null01-29 02:42:41.992: V/PhoneInfo(1002): Line1Number = 1555521555401-29 02:42:41.992: V/PhoneInfo(1002):