欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      頭文件總結(jié)

      時(shí)間:2019-05-15 13:48:04下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫小編為你整理了多篇相關(guān)的《頭文件總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《頭文件總結(jié)》。

      第一篇:頭文件總結(jié)

      C、傳統(tǒng) C++

      #include

      //設(shè)定插入點(diǎn)

      #include

      //字符處理

      #include

      //定義錯(cuò)誤碼

      #include

      //浮點(diǎn)數(shù)處理

      #include

      //文件輸入/輸出

      #include

      //參數(shù)化輸入/輸出

      #include

      //數(shù)據(jù)流輸入/輸出

      #include

      //定義各種數(shù)據(jù)類型最值常量

      #include

      //定義本地化函數(shù)

      #include

      //定義數(shù)學(xué)函數(shù)

      #include

      //定義輸入/輸出函數(shù)

      #include

      //定義雜項(xiàng)函數(shù)及內(nèi)存分配函數(shù)

      #include

      //字符串處理

      #include

      //基于數(shù)組的輸入/輸出

      #include

      //定義關(guān)于時(shí)間的函數(shù)

      #include

      //寬字符處理及輸入/輸出

      #include

      //寬字符分類

      //////////////////////////////////////////////////////////////////////////

      標(biāo)準(zhǔn) C++(同上的不再注釋)

      #include

      //STL 通用算法

      #include

      //STL 位集容器

      #include #include #include #include #include

      //復(fù)數(shù)類

      #include #include #include #include

      #include

      //STL 雙端隊(duì)列容器

      #include

      //異常處理類

      #include

      #include

      //STL 定義運(yùn)算函數(shù)(代替運(yùn)算符)

      #include

      #include

      //STL 線性列表容器

      #include

      //STL 映射容器

      #include

      #include

      //基本輸入/輸出支持

      #include

      //輸入/輸出系統(tǒng)使用的前置聲明

      #include

      #include

      //基本輸入流

      #include

      //基本輸出流

      #include

      //STL 隊(duì)列容器

      #include

      //STL 集合容器

      #include

      //基于字符串的流

      #include

      //STL 堆棧容器

      #include

      //標(biāo)準(zhǔn)異常類

      #include

      //底層輸入/輸出支持

      #include

      //字符串類

      #include

      //STL 通用模板類

      #include

      //STL 動(dòng)態(tài)數(shù)組容器

      #include #include //////////////////////////////////////////////////////////////////////////

      C++ 增加

      #include

      //復(fù)數(shù)處理

      #include

      //浮點(diǎn)環(huán)境

      #include //整數(shù)格式轉(zhuǎn)換

      #include

      //布爾環(huán)境

      #include

      //整型環(huán)境

      #include

      //通用類型數(shù)學(xué)宏

      第二篇:51頭文件書寫而方法

      51單片機(jī)C語言學(xué)習(xí)筆記7:關(guān)于.c文件和.h文件

      2009-09-15 09:55:43| 分類:| 標(biāo)簽: |舉報(bào) |字號(hào)大中小 訂閱

      1)h文件作用方便開發(fā):包含一些文件需要的共同的常量,結(jié)構(gòu),類型定義,函數(shù),變量申明;提供接口:對(duì)一個(gè)軟件包來說可以提供一個(gè)給外界的接口(例如: stdio.h)。

      2)h文件里應(yīng)該有什么

      常量,結(jié)構(gòu),類型定義,函數(shù),變量申明。

      3)h文件不應(yīng)該有什么

      變量定義, 函數(shù)定義。

      4)extern問題

      對(duì)于變量需要extern;

      對(duì)于函數(shù)不需要因?yàn)楹瘮?shù)的缺省狀態(tài)是extern的.如果一個(gè)函數(shù)要改變?yōu)橹辉谖募?nèi)可見,加static。

      5)include包含問題

      雖然申明和類型定義可以重復(fù),不過推薦使用條件編譯。

      #ifndef _FILENAME_H,#define _FILENAME_H

      ……

      #endif

      6)應(yīng)該在那兒包含h文件

      在需要的地方.比如某個(gè)提供接口的h文件僅僅被1.c文件需要,那么就在1.c文件里包含。編寫的程序一般會(huì)有.H文件和相對(duì)應(yīng)的.C文件,.H文件是聲明所用,.C文件是其函數(shù)實(shí)現(xiàn)部分。在調(diào)用時(shí)只要包含.H文件即可,我們沒有聽說過#include “delay.c”這類的程序,同時(shí)也不提倡使用這個(gè)形

      式。

      在delay.h文件中: //對(duì)調(diào)用的函數(shù)聲明

      #ifndef __DELAY_H__

      #define __DELAY_H__

      extern void Delayms(unsigned int n);

      #endif

      在delay.c文件中: //函數(shù)實(shí)現(xiàn)部分

      #include

      //for crystal 11.0592M

      void Delayms(unsigned int n)

      {

      unsigned int i,j;

      for(j=n;j>0;j--)

      for(i=112;i>0;i--);

      }

      在主程序main.c中

      #include //在主程序包含.h文件,不能包含.c文件

      ……

      上述方法仍然要求每建立一個(gè)工程就需要把對(duì)應(yīng)的頭文件復(fù)制到工程的文件夾里,這樣看來仍然是比較麻煩的,這時(shí)還有另外一中方法就是將做好的頭文件放在一個(gè)文件夾中,然后將這個(gè)文件夾整體拷貝到..KEILC51INC下面,以后若需要使用某個(gè)頭文件,就如使用KEIL自帶的頭文件一樣方便了,在主函

      數(shù)mani()之前有一句#include 就可以在main()中使用其中的函數(shù)了。

      參考資料:

      1)h文件里變量(函數(shù))申明用不用extern

      2).c文件和.h文件的概念與聯(lián)系

      3)過馬路,左右看

      4).c 和.h文件的不同

      5)C51包含頭文件方法

      防止頭文件重復(fù)包含的方法

      第一條預(yù)處理命令是說,如果MAXMIN_H不為真,說明此文件沒被包含過,此命令后面的源代碼有效(相當(dāng)于:‘如果大門沒關(guān),請(qǐng)您進(jìn)來’);

      第二條預(yù)處理命令把MAXMIN_H置為真(相當(dāng)于請(qǐng)您把門鎖插上,不讓第二個(gè)人進(jìn)來)。最后一條預(yù)處理命令是為了標(biāo)出接受上述處理的源程序的范圍(相當(dāng)于您已經(jīng)走到了后門)。假定有以下幾個(gè)頭文件及其包含關(guān)系為:

      File1.h,file2.h,file3.h,file4.h,file5.h,main.cpp

      那么:file3.h包含file1.h,file2.h,file4.h包含file1.h,file2.h,file5.h包含file3.h,file4.h。就會(huì)導(dǎo)致在file5中對(duì)file1和file2的反復(fù)包含,編譯時(shí)就會(huì)報(bào)錯(cuò)。

      解決方法1:

      1:應(yīng)用#ifndef

      #define

      #endif

      即每個(gè)文件在定義時(shí)都寫成以下情勢(shì)(以file1.h為例):

      #ifndef H_FILE1

      #define H_FILE1

      #include

      #include

      …..#endif

      File3.h:

      #ifndef H_FILE3

      #define H_FILE3

      #include

      #include

      #inlcude”file1.h”#include”file2.h”…..#endif

      方法二:在每個(gè)文件的頭部定義:#pragmaonce(用于解釋本文件中的內(nèi)容只應(yīng)用一次)例:fiel1.h:

      #pragmaonce#include#include…..File3.h:

      #pragmaonce#include#include#include”file1.h”…..

      第三篇:http頭文件分析心得體會(huì)

      http頭文件分析心得體會(huì)

      一、http簡(jiǎn)介

      HTTP即超文本傳輸協(xié)議(Hypertext transfer protocol)。是一種詳細(xì)規(guī)定了瀏覽器和萬維網(wǎng)(“,結(jié)果稱為 HA2。

      3、對(duì)HA1、服務(wù)器密碼隨機(jī)數(shù)(nonce)、請(qǐng)求計(jì)數(shù)(nc)、客戶端密碼隨機(jī)數(shù)(cnonce)、保護(hù)質(zhì)量(qop)以及 HA2 的合并值計(jì)算 MD5 哈希值。結(jié)果即為客戶端提供的

      response 值。

      因?yàn)榉?wù)器擁有與客戶端同樣的信息,因此服務(wù)器可以進(jìn)行同樣的計(jì)算,以驗(yàn)證客戶端提交的 response 值的正確性。在上面給出的例子中,結(jié)果是如下計(jì)算的。

      (MD5()表示用于計(jì)算MD5哈希值的函數(shù);“”表示接下一行;引號(hào)并不參與計(jì)算)

      HA1 = MD5(”Mufasa:testrealm@host.com:Circle Of Life“)

      = 939e7578ed9e3c518a452acee763bce9 HA2 = MD5(”GET:/dir/index.html“)

      = 39aff3a2bab6126f332b942af96d3366 Response = MD5(”939e7578ed9e3c518a452acee763bce9:

      dcd98b7102dd2f0e8b11d0f600bfb0c093: 00000001:0a4f113b:auth: 39aff3a2bab6126f332b942af96d3366“)= 6629fae49393a05397450978507c4ef1 此時(shí)客戶端可以提交一個(gè)新的請(qǐng)求,重復(fù)使用服務(wù)器密碼隨機(jī)數(shù)(nonce)(服務(wù) 器僅在每次“401”響應(yīng)后發(fā)行新的nonce),但是提供新的客戶端密碼隨機(jī)數(shù)(cnonce)。在后續(xù)的請(qǐng)求中,十六進(jìn)制請(qǐng)求計(jì)數(shù)器(nc)必須比前 一次使用的時(shí)候要大,否則攻擊者可以簡(jiǎn)單的使用同樣的認(rèn)證信息重放老的請(qǐng)求。由服務(wù)器來確保在每個(gè)發(fā)出的密碼隨機(jī)數(shù)nonce時(shí),計(jì)數(shù)器是在增加的,并拒 絕掉任何錯(cuò)誤的請(qǐng)求。顯然,改變HTTP方法和/或計(jì)數(shù)器數(shù)值都會(huì)導(dǎo)致不同的 response值。

      服務(wù)器應(yīng)當(dāng)記住最近所生成的服務(wù)器密碼隨機(jī)數(shù)nonce的值。也可以在發(fā)行每一個(gè)密碼隨機(jī)數(shù)nonce后,記住過一段時(shí)間讓它們過期。如果客戶端使用了一個(gè)過期的值,服務(wù)器應(yīng)該響應(yīng)“401”狀態(tài)號(hào),并且在認(rèn)證頭中添加stale=TRUE,表明客戶端應(yīng)當(dāng)使用新提供的服務(wù)器密碼隨機(jī)數(shù)nonce重發(fā)請(qǐng)求,而不必提示用戶其它用戶名和口令。

      服務(wù)器不需要保存任何過期的密碼隨機(jī)數(shù),它可以簡(jiǎn)單的認(rèn)為所有不認(rèn)識(shí)的數(shù)值都是過期的。服務(wù)器也可以只允許每一個(gè)服務(wù)器密碼隨機(jī)數(shù)nonce使用一次,當(dāng)然,這樣就會(huì)迫使客戶端在發(fā)送每個(gè)請(qǐng)求的時(shí)候重復(fù)認(rèn)證過程。需要注意的是,在生成后立刻過期服務(wù)器密碼隨機(jī)數(shù)nonce是不行的,因?yàn)榭蛻舳藢]有任何機(jī)會(huì)來使用這個(gè)nonce。

      語法:

      challenge

      = ”Digest“ digest-challenge

      digest-challenge = 1#(realm | [ domain ] | nonce |

      [ opaque ] |[ stale ] | [ algorithm ] |

      [ qop-options ] | [auth-param])

      domain

      = ”domain“ ”=“ <”> URI(1*SP URI)<“>

      URI

      = absoluteURI | abs_path

      nonce

      = ”nonce“ ”=“ nonce-value

      nonce-value

      = quoted-string

      opaque

      = ”opaque“ ”=“ quoted-string

      stale

      = ”stale“ ”=“(”true“ | ”false“)

      algorithm

      = ”algorithm“ ”=“(”MD5“ | ”MD5-sess“ |

      token)

      qop-options

      = ”qop“ ”=“ <”> 1#qop-value <“>

      qop-value

      = ”auth“ | ”auth-int“ | token

      realm:讓客戶知道使用哪個(gè)用戶名和密碼的字符串。不同的領(lǐng)域可能密碼不一樣。至少告訴用戶是什么主機(jī)做認(rèn)證,他可能會(huì)提示用哪個(gè)用戶名登錄,類似一個(gè)Email。

      domain:一個(gè)URI列表,指示要保護(hù)的域。可能是一個(gè)列表。提示用戶這些URI采用一樣的認(rèn)證。如果為空或忽略則為整個(gè)服務(wù)器。nonce:隨機(jī)字符串,每次401都不一樣。跟算法有關(guān)。算法類似Base64加密:time-stamp H(time-stamp ”:“ ETag ”:“ private-key)。time-stamp為服務(wù)器時(shí)鐘,ETag為請(qǐng)求的Etag頭。private-key為服務(wù)器知道的一個(gè)值。

      opaque:服務(wù)器產(chǎn)生的由客戶下去請(qǐng)求時(shí)原樣返回。最好是Base64串或十六進(jìn)制字符串。

      auth-param:為擴(kuò)展用的,現(xiàn)階段忽略。

      其他域請(qǐng)參考RFC2617。

      授權(quán)頭語法:

      credentials

      = ”Digest“ digest-response

      digest-response = 1#(username | realm | nonce | digest-uri

      | response | [ algorithm ] | [cnonce] |

      [opaque] | [message-qop] |

      [nonce-count] | [auth-param])

      username

      = ”username“ ”=“ username-value

      username-value = quoted-string

      digest-uri

      = ”uri“ ”=“ digest-uri-value

      digest-uri-value = request-uri;As specified by HTTP/1.1

      message-qop

      = ”qop“ ”=“ qop-value

      cnonce

      = ”cnonce“ ”=“ cnonce-value

      cnonce-value

      = nonce-value

      nonce-count

      = ”nc“ ”=“ nc-value

      nc-value

      = 8LHEX

      response

      = ”response“ ”=“ request-digest

      request-digest = <”> 32LHEX <“>

      LHEX

      = ”0“ | ”1“ | ”2“ | ”3“ |

      ”4“ | ”5“ | ”6“ | ”7“ |

      ”8“ | ”9“ | ”a“ | ”b“ |

      ”c“ | ”d“ | ”e“ | ”f“

      response:加密后的密碼

      digest-uri:拷貝Request-Line,用于Proxy cnonce:如果qop設(shè)置,才設(shè)置,用于雙向認(rèn)證,防止攻擊。

      nonce-count:如果服務(wù)器看到同樣的計(jì)數(shù),就是一次重放。

      示例:

      401響應(yīng):

      HTTP/1.1 401 Unauthorized

      004km.cnonce=”0a4f113b“,response=”6629fae49393a05397450978507c4ef1“,opaque=”5ccc069c403ebaf9f0171e9517f40e41"

      一,用摘要保護(hù)密碼

      摘要認(rèn)證的一個(gè)改進(jìn)之處是用摘要代替密碼的傳輸,遵循的基本原則是“絕對(duì)不通過網(wǎng)絡(luò)發(fā)送明文密碼”,而是發(fā)送一個(gè)密碼的摘要信息,并且這摘要信息是不可逆 的,即無法通

      過摘要信息反推出密碼信息。而服務(wù)器本身是存儲(chǔ)這個(gè)密碼的(實(shí)際上,服務(wù)器只需知道密碼的摘要即可),而客戶端和服務(wù)器本身都知道這個(gè)密碼。這樣的話,服 務(wù)器可以讀取客戶端的摘要和本身知道的密碼進(jìn)行同樣計(jì)算得出的摘要進(jìn)行比較,若匹配,則驗(yàn)證通過。

      摘要是對(duì)信息主體的濃縮,摘要是一種單向函數(shù),主要用于將無限的輸入值轉(zhuǎn)為有限的濃縮輸出值,如MD5,則是將任意長(zhǎng)度的字節(jié)系列轉(zhuǎn)換為一個(gè)128位的摘要。MD5輸出的128位的摘要通常會(huì)寫出32個(gè)十六進(jìn)制的字符,每個(gè)字符表示4個(gè)bit。

      二,用隨機(jī)數(shù)防止重放攻擊

      使用單向摘要就無需以明文形式發(fā)送密碼了,可以只發(fā)送密碼的摘要,并且可以確信,沒有哪個(gè)惡意用戶能輕易的從摘要中解碼出原始密碼。

      但是,摘要被截獲也可能跟密碼一起好用,為了防止重放攻擊的發(fā)送,服務(wù)器可以向客戶端發(fā)送一個(gè)稱為隨機(jī)數(shù)nonce的特殊令牌,這個(gè)數(shù)會(huì)經(jīng)常發(fā)生變化(可 能是每毫秒,或者每次認(rèn)證都發(fā)生變化,具體由服務(wù)器控制),客戶端在計(jì)算摘要之前要先將這個(gè)隨機(jī)數(shù)附加到密碼上去。這樣,在密碼中加入隨機(jī)數(shù)就會(huì)使得摘要 隨著隨機(jī)數(shù)的每次變化而變化,記錄下的密碼摘要只對(duì)特定的隨機(jī)數(shù)有效,而沒有密碼的話,攻擊者就無法計(jì)算出正確的摘要,這樣就可以防止重放攻擊的發(fā)生。

      摘要認(rèn)證要求使用隨機(jī)數(shù),隨機(jī)數(shù)是在004km.cnonce。如下例子:

      GET/cgi-bin/checkout?a=b HTTP/1.1 Authorization: Digest username=”tenfyguo”

      realm=”test realm”

      nonce=” 66C4EF58DA7CB956BD04233FBB64E0A4” //服務(wù)器端的隨機(jī)數(shù)一起帶回

      uri=”/cgi-bin/checkout?a=b” //必須跟請(qǐng)求行一致

      qop=”auth” //保護(hù)質(zhì)量參數(shù)

      nc=0000001

      cnonce=”xxxxx234132543strwerr65sgdrftdfytryts” //客戶端隨機(jī)數(shù),用于對(duì)稱校驗(yàn)

      response=” ABC4EF58DA7CB956BD04345FBB64E0A4”//最終摘要

      3,服務(wù)接受摘要,選擇算法以及掌握的數(shù)據(jù),重新計(jì)算新的摘要跟客戶端傳輸?shù)恼M(jìn)行比較,驗(yàn)證是否匹配,若客戶端反過來用客戶端隨機(jī)數(shù)對(duì)服務(wù)器進(jìn)行質(zhì)詢,就 會(huì)創(chuàng)建客戶端摘要,服務(wù)可以預(yù)先將下一個(gè)隨機(jī)數(shù)計(jì)算出來,提前傳遞給客戶端,通過Authentication-Info發(fā)送下一個(gè)隨機(jī)數(shù)。如下例子:

      HTTP/1.1 200 OK Authorization-Info:nextnonce=” 88C4EF58DA7CB956BD04233FBB64E0A4”

      qop=”auth”

      rspauth=”23543534DfasetwerwgDTerGDTERERRE”

      cnonce=” xxxxx234132543strwerr65sgdrftdfytryts”

      四,摘要的計(jì)算

      在說明如何計(jì)算摘要之前,先說明參加摘要計(jì)算的信息塊。信息塊主要有兩種:

      1,表示與安全相關(guān)的數(shù)據(jù)的A1。

      A1中的數(shù)據(jù)時(shí)密碼和受保護(hù)信息的產(chǎn)物,它包括用戶名,密碼,保護(hù)域和隨機(jī)數(shù)等內(nèi)容,A1只涉及安全信息,與底層報(bào)文自身無關(guān)。

      若算法是:MD5 則A1=::

      若算法是:MD5-sess 則A1=MD5(::

      )::

      2,表示與報(bào)文相關(guān)的數(shù)據(jù)的A2.A2表示是與報(bào)文自身相關(guān)的信息,比如URL,請(qǐng)求反復(fù)和報(bào)文實(shí)體的主體部分,A2加入摘要計(jì)算主要目的是有助于防止反復(fù),資源或者報(bào)文被篡改。

      若qop未定義或者auth:

      A2=: 若qop為auth:-int A2=::MD5()

      下面定義摘要的計(jì)算規(guī)則:

      若qop沒有定義:

      摘要response=MD5(MD5(A1)::MD5(A2))

      若qop為auth: 摘要response=MD5(MD5(A1):::::MD5(A2))

      若qop為auth-int: 摘要response= MD5(MD5(A1):::::MD5(A2))

      五,隨機(jī)數(shù)的生成

      RFC2617建議采用這個(gè)假想的隨機(jī)數(shù)公式:

      nonce = BASE64(time-stamp MD5(time-stamp “:” ETag “:” private-key))其中: time-stamp是服務(wù)器產(chǎn)生的時(shí)間戳或者其他不會(huì)重復(fù)的序列號(hào),ETag是與所請(qǐng)求實(shí)體有關(guān)的HTTP ETag首部的值,priviate-key是只有服務(wù)器知道的數(shù)據(jù)。

      這樣,服務(wù)器就可以收到客戶端的認(rèn)證首部之后重新計(jì)算散列部分,如果結(jié)果與那個(gè)首部的隨機(jī)數(shù)不符,或者是時(shí)間戳的值不夠新,就可以拒絕請(qǐng)求,服務(wù)器可以通過這種方式來限制隨機(jī)數(shù)的有效持續(xù)時(shí)間。

      包括了ETag可以防止對(duì)已經(jīng)更新資源版本的重放請(qǐng)求。注意:在隨機(jī)數(shù)中包含客戶端IP,服務(wù)器好像就可以限制原來獲取此隨機(jī)數(shù)的客戶端重用這個(gè)隨 機(jī)數(shù)了,但這會(huì)破壞代理集群的工作,使用代理集群時(shí)候,來自單個(gè)用戶的多條請(qǐng)求通常會(huì)經(jīng)過不同的代理進(jìn)行傳輸,而且IP地址欺騙實(shí)現(xiàn)起來也不復(fù)雜。

      第四篇:C源文件要包含自己的頭文件

      引言:

      我們經(jīng)常在c工程中發(fā)現(xiàn),源文件中要包含自己的頭文件。一直以來,都不知道為什么這樣做。現(xiàn)在,我知道了。

      以前的認(rèn)知:

      我認(rèn)為,.c文件沒有必要包含自己的.h文件。.h文件包含.c文件中定義的函數(shù)和全局變量的聲明,.h文件就是.c文件提供的對(duì)外接口文件。既然.h文件就是.c文件提供的對(duì)外接口文件,那么.c文件就沒必要包含自己的.h文件了(.h文件是對(duì)外提供用的,對(duì)內(nèi)又何必再包含進(jìn)來呢)。

      鑒于這樣的理解,我對(duì)于工程中.c源文件包含自己的.h頭文件很是不理解,不知道為什么要這樣做。

      現(xiàn)在對(duì)此的理解:

      但是現(xiàn)在,我知道為什么要源文件包含自己的頭文件了。

      如下,一段書中的原話:

      “如果希望讓編譯器檢查聲明的一致性, 一定要把全局聲明放到頭文件中。特別是, 永遠(yuǎn)不要把外部函數(shù)的原型(也就是函數(shù)聲明)放到.c 文件中: 通常它與定義的一致性不能得到檢查, 而矛盾的原型(也就是函數(shù)聲明)比不用還糟糕?!?/p>

      注意:外部函數(shù)的原型,就是外部函數(shù)的聲明。

      對(duì)這段話的理解:

      為什么:“永遠(yuǎn)不要把外部函數(shù)的原型放到.c 文件中”

      這個(gè)外部函數(shù)A指的是B.c文件之外定義的函數(shù),B.c文件中需要使用外部函數(shù)A,就需要先對(duì)外部函數(shù)A聲明(對(duì)外部函數(shù)的聲明就是外部函數(shù)原型)。對(duì)這個(gè)外部函數(shù)A的聲明,不能放在B.c文件里面來實(shí)現(xiàn)。

      以實(shí)例說明:

      ① 假若工程中有2個(gè)源文件a.c和b.c;a.c的頭文件為a.h,b.c的頭文件為b.h。② a.c中定義了一個(gè)函數(shù)sum。

      ③ b.c要引用sum 這個(gè)函數(shù)。做法是:在b.c中聲明sum這個(gè)函數(shù)。然后b.c就可以使用sum函數(shù)了。

      這樣的做法就是把外部函數(shù)sum的聲明放到了b.c中來。然而,這樣的做法很不妥。不妥的原因:sum是在a.c中定義的,而聲明確是在b.c中,sum函數(shù)的定義和聲明不是在同一個(gè)文件中的。定義和聲明不在同一個(gè)文件中,編譯的時(shí)候,編譯器就不能對(duì)定義和聲明的一致性進(jìn)行檢查。這樣,如果sum的定義和聲明不一致,編譯器就無法檢查出來(定義和聲明不在同一個(gè)文件中),那么編譯的時(shí)候不會(huì)報(bào)錯(cuò),但是程序運(yùn)行的時(shí)候就可能會(huì)出錯(cuò)。而這樣的錯(cuò)誤,查找起來又不是很容易。

      鑒于此,才這樣說:“永遠(yuǎn)不要把外部函數(shù)的原型放到.c 文件中”。

      那如何才能讓編譯器檢查定義和聲明的一致性呢?

      前面說,如果把外部函數(shù)的原型放到.c 文件中,編譯器就無法檢查聲明和定義的一致性(聲明和定義不在同一個(gè)文件中)。那么,要讓編譯器檢查定義和聲明的一致性呢,自然是把定義和聲明放在同一個(gè)文件中,而如何實(shí)現(xiàn)把定義和聲明放在同一個(gè)文件里呢?

      答案:源文件定義的函數(shù),在源文件對(duì)應(yīng)的頭文件中聲明,然后源文件包含自己的頭文件。這樣定義和聲明就放在同一個(gè)文件里了。

      援引上述例子:a.c中定義了函數(shù)sum,而函數(shù)本質(zhì)上是外部的,函數(shù)sum是可以被其它源文件調(diào)用的。那么,我們把sum函數(shù)的聲明放在a.h中。然后a.c源文件還要包含自己的頭文件,也就是a.h文件。而b.c文件要引用sum函數(shù),就直接包含a.h文件就可以。

      sum函數(shù)的定義在a.c中,聲明是在a.h中,但是由于a.c包含了a.h,所以sum的定義和聲明就是在同一個(gè)文件a.c中了。這樣,編譯器編譯的時(shí)候,就能對(duì)sum函數(shù)定義和聲明的一致性做檢查,如果不一致,就會(huì)報(bào)錯(cuò)。

      至于其他源文件引用這個(gè)外部函數(shù)sum,不再采用直接聲明的方式,而是通過包含a.h頭文件的方式。

      這樣,編譯器檢查了sum函數(shù)定義和聲明的一致性沒有報(bào)錯(cuò),也就表明a.c中sum函數(shù)的定義和a.h中sum 函數(shù)的聲明是一致的。那么其他源文件都是通過直接包含a.h,來使用函數(shù)sum,就也保證了sum函數(shù)聲明和定義的一致性了。結(jié)論

      c源文件要包含自己的頭文件,目的就是讓編譯器檢查定義和聲明的一致性。

      第五篇:總結(jié)

      拜訪總結(jié)

      這次我負(fù)責(zé)尋找拜訪對(duì)象,剛開始我想采訪學(xué)校里的清潔工,被組員否定,因?yàn)榻M員認(rèn)為采訪難度太低。后來我提議去拜訪社會(huì)上的物流公司,又有組員認(rèn)為難度太大。但一時(shí)間其他組員也沒有想出其他的辦法,所以我決定利用清明節(jié)假期,到社會(huì)上去嘗試找物流公司進(jìn)行采訪,畢竟我們所學(xué)的專業(yè)是物流管理,多多少少會(huì)對(duì)我們有用。

      人不接受采訪怎么辦?等了一會(huì)兒我就想外事都是開頭難嘛,所以下一秒我果斷地?fù)芰藦V告牌上的服務(wù)熱線,向接待人員說明了我的身份、我的意圖,然后服務(wù)人員告訴了我他們老總的電話。接著我撥通了正天物流老總的電話,向他打過招呼之后,我同樣說明了我的身份以及來意,他爽快地接受了采訪。當(dāng)我談到采訪時(shí)間時(shí),他說他下個(gè)星期五就要出差了。所以我們只能把采訪時(shí)間訂在4月6號(hào)或者4月7號(hào)。

      找到一個(gè)拜訪對(duì)象后,我決定再找一個(gè)拜訪對(duì)象。讓我們每個(gè)組員都有機(jī)會(huì)去拜訪。接著我又去找了好幾家物流公司,不是電話打不通就是不愿意接受采訪。

      后來到學(xué)校與組員商量后,決定選在4月6號(hào)去采訪,然后又與正天物流蔣總進(jìn)行協(xié)商,將具體的采訪時(shí)間訂在4月6號(hào)下午1點(diǎn)半。然后我們組商量每個(gè)人想三個(gè)問題,最后我們精選了12個(gè)問題進(jìn)行提問??紤]到去的人不能太多,也不能太少,又要兼顧男女比例,所以決定由我、王斌、莫亞飛和錢文歡前去拜訪。第二天,也就是采訪的這一天。王斌和莫亞飛臨時(shí)有事沒辦法前去,我們組重新開了個(gè)小會(huì),重新確定采訪的人員:我、錢文歡、徐海香和李海梅。由于物流公司離我們學(xué)校比較遠(yuǎn),所以我們上午一下課便出發(fā)前去正天物流。我們一點(diǎn)就到了正天物流,我們帶上胸卡。我打了一個(gè)電話告訴他我們已經(jīng)在門外了,經(jīng)過許可后,我們便走進(jìn)了這家物流企業(yè)。兩邊停著許多運(yùn)輸車輛,不時(shí)有叉車工在搬運(yùn)貨物。遠(yuǎn)處樓梯口有人向我們招手,我猜想一定是蔣總。在蔣總的招呼下,我們便一同走進(jìn)了蔣總的辦公室。剛一進(jìn)去,蔣總就招呼我們坐下,我們感到十分親切。接著我向蔣總介紹每個(gè)人的姓名,我們便開始了將近一個(gè)小時(shí)的采訪。由于考慮到蔣總的工作很忙,采訪完了,我們便要求和蔣總一起合了一張照片,便向蔣總道謝再見了。他和我們一起下了樓,當(dāng)時(shí)下起了小雨,他沒有撐傘,我們想幫他撐傘,但是被他謝絕了,我們?cè)俅蜗蛩绖e。

      之后我們便離開了正天物流公司,天雖然下著雨,可是我們很開心。

      總結(jié)一:世上的事不會(huì)總一帆風(fēng)順的,如果事情順利,也不要太高興,因?yàn)榭赡軇e人比我們做得更好,像這次采訪,也有小組采訪到物流公司,還有小組采訪到了五星電器,所以我們起點(diǎn)并不是太占據(jù)優(yōu)勢(shì)。如果事情不順利,也不要灰心,因?yàn)槲覀儽M力了,我們相信下次我們會(huì)做的更好。我們也會(huì)冷靜地分析不順利的原因,積極想辦法去解決。總之,命運(yùn)是掌握在我們自己手里的,我們一定要認(rèn)真對(duì)待。

      總結(jié)二:團(tuán)隊(duì)合作、團(tuán)隊(duì)力量很重要。在提問的問題上,我們組集中全組人智慧,讓每個(gè)人都參與進(jìn)來;在第二天去的人臨時(shí)發(fā)生突發(fā)事件后,有組員主動(dòng)請(qǐng)纓代替他們?nèi)?,每一個(gè)人有較好的集體意識(shí);在提問時(shí),有一人專門負(fù)責(zé)進(jìn)行一些筆記,其他三人進(jìn)行提問,分工合理、高效。

      總結(jié)三:蔣總告訴我們以后從事物流非常辛苦,所以我必須做好吃苦的準(zhǔn)備。我想不管以后干什么,首先要有吃苦的精神。我也不喜歡經(jīng)常更換職業(yè),因?yàn)楦缮缎卸际且粯樱匾氖歉矣趫?jiān)持下去,付出總會(huì)有結(jié)果的。蔣總還說,他說習(xí)慣很重要,所以他能堅(jiān)持在物流崗位上9年多了。

      總結(jié)四:要慢慢培養(yǎng)自己管理者的品質(zhì)。蔣總向我們揮手的那一刻,我覺得他具有作為領(lǐng)導(dǎo)者的一種親和力;蔣總為人很低調(diào),不愿意和我們合影、衣著樸素;

      下載頭文件總結(jié)word格式文檔
      下載頭文件總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        IT總結(jié)

        人類有組織帶的活動(dòng):(1)項(xiàng)目(因市場(chǎng)需求而產(chǎn)生):臨時(shí)性,一次性;獨(dú)特性的活動(dòng)。 (2)作業(yè)(重復(fù)性):連續(xù)不斷周而復(fù)始的活動(dòng)。項(xiàng)目定義:國(guó)際項(xiàng)目管理協(xié)會(huì)(IPMA)美國(guó)項(xiàng)目管理協(xié)會(huì)(PMI)中國(guó)項(xiàng)目管理......

        總結(jié)

        全面推行“四議兩公開”制度 積極構(gòu)建基層懲防體系 ——鄭莊鎮(zhèn)黨委書記廉政訪談材料近年來,我鎮(zhèn)立足鎮(zhèn)情,把黨風(fēng)廉政建設(shè)貫穿于整個(gè)產(chǎn)業(yè)開發(fā)和新農(nóng)村建設(shè)之中,圍繞本鎮(zhèn)農(nóng)村突......

        總結(jié)

        本學(xué)期,為了適應(yīng)新時(shí)期教學(xué)工作的要求,認(rèn)真學(xué)習(xí)有關(guān)新課程教學(xué)改革的課程標(biāo)準(zhǔn)。從各方面嚴(yán)格要求自己,結(jié)合本校的實(shí)際條件和學(xué)生的實(shí)際情況,勤勤懇懇,兢兢業(yè)業(yè),使教學(xué)工作有計(jì)劃,有......

        總結(jié)總結(jié)

        總結(jié)總結(jié) 尊敬的各位領(lǐng)導(dǎo)和各位同仁 大家端午節(jié)快樂,每逢佳節(jié)倍思親,在此佳節(jié)之際感謝各位不辭辛苦的工作在工作崗位的同時(shí)們你們辛苦了樓面工作是辛苦的,有時(shí)也會(huì)面對(duì)客人對(duì)我......

        總結(jié)

        湖南外貿(mào)職業(yè)學(xué)院 服務(wù)外包學(xué)院 第八屆校園文化藝術(shù)節(jié)“十佳歌手”大賽總結(jié) 應(yīng)學(xué)校院團(tuán)委要求,我院承辦了第八屆校園文化藝術(shù)節(jié)“十佳歌手”大賽。本次比賽歷時(shí)近二個(gè)多月,11......

        總結(jié)

        四年級(jí)下學(xué)期語文教學(xué)工作總結(jié) 本學(xué)期我擔(dān)任四年級(jí)的語文教學(xué)工作,在教學(xué)中,我依據(jù)新課程標(biāo)準(zhǔn)的指導(dǎo)思想,認(rèn)真落實(shí)課程標(biāo)準(zhǔn),抓好教學(xué)常規(guī)工作,圓滿完成了教學(xué)任務(wù),為了能從本學(xué)期......

        總結(jié)

        總結(jié) 本學(xué)期我們八年級(jí)語文取得一定的成績(jī),這是我們備課組全體教師共同努力的成果。作為備課組長(zhǎng),我以我組教師較高的個(gè)人素質(zhì)為傲,也為全組的齊心協(xié)力共同進(jìn)步引以為豪,而更令......

        總結(jié)

        骨干教師培養(yǎng)總結(jié) 骨干教師是我校教師隊(duì)伍的中堅(jiān)力量,我們把骨干教師做繼續(xù)教育的中心任務(wù)。為進(jìn)一步提高我們學(xué)校教師隊(duì)伍的整體素質(zhì),我們?cè)谪瀼馗骷?jí)行政部門有關(guān)教師培訓(xùn)的......