李林linux環(huán)境高級編程,作業(yè),實驗報告

李林linux環(huán)境高級編程,作業(yè),實驗報告

ID:30247700

大?。?7.76 KB

頁數(shù):8頁

時間:2018-12-28

李林linux環(huán)境高級編程,作業(yè),實驗報告_第1頁
李林linux環(huán)境高級編程,作業(yè),實驗報告_第2頁
李林linux環(huán)境高級編程,作業(yè),實驗報告_第3頁
李林linux環(huán)境高級編程,作業(yè),實驗報告_第4頁
李林linux環(huán)境高級編程,作業(yè),實驗報告_第5頁
資源描述:

《李林linux環(huán)境高級編程,作業(yè),實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫

1、為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃李林linux環(huán)境高級編程,作業(yè),實驗報告  電子科技大學(xué)  實驗報告  學(xué)生姓名:學(xué)號:指導(dǎo)教師:李林實驗地點:清水河主樓A2-412實驗時間:  一、實驗室名稱:  Linux環(huán)境高級編程實驗室  二、實驗項目名稱:  對象序列化實驗  三、實驗學(xué)時:  8學(xué)時  四、實驗?zāi)康模骸 W(xué)習(xí)序列化原理與方法,掌握基本的序列化技巧  五、實驗內(nèi)容:  ?版本1:將一個類的一個對象序列化到文件  ?版本2:將一個類的多個對象序列化

2、到文件  ?版本3:將兩個類的多個對象序列化到文件  ?版本4:按照面向?qū)ο蟮姆椒?,解決多個類的多個對象序列化到文件的問題目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃  ?版本5:序列化的目的地不僅可以是文件,還可以是其他,即可配置性  六、實驗步驟:  1、版本一程序分析:  源程序如下,功能是將一個類的一個對象序列化到文件:#include 

3、 #include  #include  #include  classSAD//SerializeAndDeserialize{  public:  SAD()//構(gòu)造函數(shù)。  {  tel0=tel1=0;//將電話號碼分成兩個int變量保存。}  explicitSAD(longintm,longintk)  {  tel0=m;tel1=k;  }  virtual~SAD()  /*使用虛析構(gòu)。在析構(gòu)時防止只析構(gòu)基類而不析構(gòu)派生類的狀況發(fā)生,造成內(nèi)存泄漏。*/{  }  public:目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解

4、,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃  voidreshow()//用于打印出變量的值。{  std::cout0){  r=read(_fd,m_pBuffer,length);  if(r==-1){  coutBUFFER_SIZE){  if(_fd==-1)return-1;  intw=write(_fd,pstrMsg,len_strmsg);  if(w==-1)

5、return-1;  returnw;  }  if(len_strmsg>m_nleftroom){  if(Flush()==-1)return-1;  }  memcpy(m_pBuffer+m_nUsedBytesForBuffer,pstrMsg,len_strmsg);  m_nUsedBytesForBuffer+=len_strmsg;  if(pthread_mutex_unlock(m_pMutex)!=0)return-1;  return0;  }  為保證讀寫緩存的一致性,在讀寫操作中,都先對緩存進行互斥量加鎖

6、,操作結(jié)束后進行解鎖。目的-通過該培訓(xùn)員工可對保安行業(yè)有初步了解,并感受到安保行業(yè)的發(fā)展的巨大潛力,可提升其的專業(yè)水平,并確保其在這個行業(yè)的安全感。為了適應(yīng)公司新戰(zhàn)略的發(fā)展,保障停車場安保新項目的正常、順利開展,特制定安保從業(yè)人員的業(yè)務(wù)技能及個人素質(zhì)的培訓(xùn)計劃  最后我們來看看緩存的刷新操作是如何實現(xiàn)的。同樣需要對緩存進行互斥量的加鎖,保證其一致性。刷新的主要工作就是將緩存中的數(shù)據(jù)寫入到文件中。操作結(jié)束后進行互斥量解鎖操作,刷新成功返回寫入的數(shù)據(jù)長度,否則返回-1。intEXFileOperator::Flush(){  if(pthr

7、ead_mutex_lock(m_pMutex)!=0)return-1;  intw=write(_fd,m_pBuffer,m_nUsedBytesForBuffer);  …  m_nUsedBytesForBuffer=0;  if(pthread_mutex_unlock(m_pMutex)!=0)return-1;  returnw;  }  四、測試  1.首先測試對文件進行寫操作的功能實現(xiàn),根據(jù)策略,先寫入少量信息,即數(shù)據(jù)長度小于緩存長度時,查看數(shù)據(jù)是在文件中還是在緩存中。測試代碼如下:  intmain(){  EXF

8、ileOperator*Opt=newEXFileOperator("");  Opt->F_WRITE("ZHAOQIANGXX");  }  測試代碼(1)想要向文件中寫入"ZHAOQIANGXX"(長

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。