這一節介紹了三個重要的標準
由於c語言在unix系統中的地位不言而喻,c語言的標準化也是unix標準化的重要組成部分。iso c標準當中包括了
時間線:1989(發布)-1999(更新)-2001 2004 2007 (勘誤)-2011(更新)
posix(portable operating system inte***ce,可移植作業系統介面)指的是ieee 1003的各種標準,這裡只關注posix.1.該標準囊括了符合該標準的計算機作業系統應該具有的介面。標準定義了必須和可選的一些標頭檔案,同時也包含了iso c標準庫函式。
單一unix規範,看名字就覺得這個跟unix關聯更大一些,它是posix.1的乙個超集,隨posix.1同步更新,吸收新的技術規範。
略這是乙個重要的話題
原因:unix定義了大量的幻數/常量並且應用程式需要使用到,而且這些常量在不同實現上,不同機器上是不同的。
用途:確定這些幻數和具體實現定義
種類:編譯時限制(在標頭檔案中獲取)/執行時限制(呼叫系統函式)
基本都是編譯時限制
三個函式
#include
long
sysconf
(int name)
;long
pathconf
(const
char
* pathname,
int name)
;long
fpathconf
(int fd,
int name)
;
name引數帶入一些巨集定義以得到特定的限制數。
本書中的實現採取了分級式的限制數獲取方式,給了兩個例子
基本格式就是
#ifdef ***
//可能在limits.h中的巨集定義
static
long *** = ***;
//第一級
類似於這樣吧,用 「***_defined」來指示當前環境下是否定義過,定義過就跳過,沒定義過就定義一次,然後define一下 「***_defined」
oracle pl sql 高階程式設計第二章 觸發器
第二章 觸發器 2.1 觸發器的建立 create trigger schema.trigger name on schema.table name referencing correlation names for each row when condition declare declarati...
sql高階第二章
use master作用切換當前資料庫 變數要先用declare 關鍵字進行宣告,然後用set 或select 賦值 set 直接賦值 select 除有set 的功能 還可以將某個查詢結果直接賦給某個值 區域性變數前必須用 作字首 全域性變數前必須用 作字首 變數輸出可以用print 或selec...
UNIX環境高階程式設計第二版 讀書筆記5章
5.1 標準i o由dennis ritchie在1975年左右編寫。5.2 第三章的i o都是針對檔案描述符。而標準i o庫是圍繞stream,開啟或建立檔案時,我們已經使乙個stream與檔案相關聯。stream的定向決定了讀寫的字元是單字元還是多位元組。在未定向的流上使用i o函式可以改變定向...