青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

冷夜 C++ 小棧

關于C++的一些經驗與心得,還會有一些技術文摘

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  6 Posts :: 5 Stories :: 12 Comments :: 0 Trackbacks

常用鏈接

留言簿(10)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

2007年7月13日 #


----------------------------------------
上位機一般是集中管理監控機,下位機是指現場直接控制器或控制機。  
  上位機面向管理級用戶,下位機面向底層設備控制。

--------------------------------------
上位機:上位監視系統,一般為計算機系統(監控軟件);
下位機:控制系統的現場執行系統,一般為PLC等設備。

--------------------------------------
上位機是指人可以直接發出操控命令的計算機,一般是PC,屏幕上顯示各種信號變化(液壓,水位,溫度等)。
下位機是直接控制設備獲取設備狀況的的計算機,一般是PLC/單片機之類的。上位機發出的命令首先給下位機,下位機再根據此命令解釋成相應時序信號直接控制相應設備。下位機不時讀取設備狀態數據(一般模擬量),轉化成數字信號反饋給上位機。簡言之如此,真實情況千差萬別不離其宗。上下位機都需要編程,都有專門的開發系統。

兩機如何通訊,一般取決于下位機。TCP/IP一般是支持的。但是下位機一般具有更可靠的獨有通訊協議,購買下位機時,會帶一大堆手冊光盤,告訴你如何使用特有協議通訊。里面會舉大量例子。一般對編程人員而言一看也就那么回事,使用一些新的API罷了。多語言支持功能模塊,一般同時支持數種高級語言為上位機編程。

---------------------------------------
上位機是指工業控制中位于較高層次的計算機。上位機通常指電腦了
下位機就通常指單片機之類

---------------------------------------
下位機一般指放置在前端的采集機,比如AD4500等設備,用來采集智能設備數據,并把數據通過串口或者其它方式發送給服務端。下位機一般具有自檢和自啟功能,是一種小型的計算機,功能比較單一,使用DOS操作系統或其它操作系統。上位機是相對于下位機而言,一般情況下一個上位機對應幾個下位機,把下位機的數據轉發給服務器或者把服務器的控制信息發送給下位機。有時候上位機本身就充當服務器。


posted @ 2007-07-13 14:52 冷夜 閱讀(1646) | 評論 (0)編輯 收藏

2005年9月13日 #

      軟件工藝(software craftsmanship),今天第一次看到這個名詞好像有點后知后覺。但是我確實覺得"軟件工藝"一詞要比軟件工程能夠更好地揭示軟件設計與開發的過程與技術特點。
      看到軟件工藝這個名詞是在一個網友的blog,軟件工藝是國外一本書的名字,據說中譯版即將在國內發行。找時間應該了解一下此書的主要觀點,或許對于軟件設計與開發的思想會有所幫助。
posted @ 2005-09-13 21:45 冷夜 閱讀(556) | 評論 (2)編輯 收藏

 

X君最初的工作任務是設計制作公司的官方網站。對于“能熟練使用Photoshop、Dreamweaver等軟件”的X君,這不是一件復雜的工作。但是,要求他在一周之內交上來的網站建設策劃,直等了一個月,我才收到一張A4紙。上面用四號字寫了大概20行。

六級英語水平,編輯一些國外的資訊應該沒有問題吧?……X君遇到了大麻煩。因為對雜志所專向的電腦技術、電腦游戲不熟悉,很多“專業術語”在X君的眼里,簡直就是“天書”!……X君在編輯部坐了一個月,沒有編譯出一篇稿件,只好幫著做了一點文字校對。

自然有網友給X君打抱不平。譬如從回復中摘出的兩段:

MCSE是什么?它代表的是Windows系統管理的水平。因此,這家公司要求他去做網站,他的表現不好,公司的人由此認定“MCSE就這個水平”未免太荒唐。

想看看這個學生英語水平如何,找個英語好的人跟他對對話,讓他寫幾個兩、三千字的材料就可以看出來了。那是基本功,假不了的。至于專業術語的問題,在業內摸爬滾打個把月也就逐漸熟悉了。

我想說的是,第一,企業要的是創造價值的人才,不能創造價值,縱有千般武功,也是廢人一個。不過這不是關鍵,關鍵在于,必須看到,這位X君太不喜歡——這是我跟新員工常提的一個字。不會做事沒關系,你有時間學,但你首先必須學會喊:要做任何事,先喊出來,讓所有相關的人都知道你要做什么,打算怎么做;做完一件事,要喊出來,讓大家看到你的成績;遇到問題了,更要毫不猶豫地喊出來,讓別人知道狀況,甚至給你幫助。在我看來,能力是人和人不同的,學習也有機遇等等各方面的區別,但無論如何,只要喊出來,至少不會像X君這樣“速敗”而一敗涂地。

從我個人的經驗而言,凡是敗得很難看的事情,大抵都是自己懶得喊造成的。所以,這篇也寫給自己留底:以后做事還要多喊。對于類似X君等等剛出或未出校園的同學,我的建議是:盡快忘記“考試不能作弊”的規章制度,做任何事情多說話,郵件也好MSN也好口頭也好,說比不說要好,多說比少說要好。另外,昨天晚上和孟巖提到了關于簡歷的話題,私以為對于初次找工作的同學也是頗有幫助的,看看孟巖要不要在《程序員》雜志上放一放吧。



本文引用通告地址: http://blog.csdn.net/gigix/services/trackbacks/474983.aspx
posted @ 2005-09-13 21:28 冷夜 閱讀(480) | 評論 (1)編輯 收藏

 
許多內向型的人希望能夠改變自己的內向性格,提高自己與他人交往的能力,進而擁有良好的人際關系。于是他們看了許多人際關系方面的書籍,也學了許多人際關系的技巧,可是卻發現收效甚微,效果不明顯。這說明光學習技巧是遠遠不夠的。他們無法擁有良好的人際關系不光是因為缺乏技巧,還有許多深層次的原因。同時,這也從一個側面說明了,現在的人際關系方面的書籍是有缺陷的,是不完整的。內向的人要想擁有良好的人際關系,需要從信念、態度、技巧等多方面改變和提高。


一、信念:樹立“雙贏”(平等互利)的信念

  要想擁有良好的人際關系,就要有平等、互利的思想。用時髦的話說,就是要有雙贏思維。

  在對待人際關系上,存在著以下幾種思維模式:

1.我贏你輸:
  我們從小受的教育就在加強這種思想觀念。考試的時候你要考得比別人好,體育比賽時你要跑得比別人快、跳得比別人高,你要得冠軍。總之只有超過別人,只有贏,才能使我們感到快樂。我們把生活看成是競技場,要成功幸福就要超越別人,把別人甩在后面。
  另外,自私自利的人抱持的也是這種我贏你輸的思想。

2.我輸你贏:
  缺乏自信、缺乏自尊的人往往是這種思想。
  他們不敢堅持自己的立場,無所欲無所求,犧牲個人利益委曲求全,以犧牲求太平。

3.兩敗俱傷:
  表面上看這樣做誰都得不到好處,似乎沒有人會這樣做。可是有的人偏偏要這樣想、這樣做!損人不利己,我得不到的你也別想得到,為了報復,寧可犧牲自己,也要把你拖垮。

4.雙贏:
  雙贏是建立在平等互利思想的基礎之上的。自己獲利但又不傷害別人利益。不把自己和別人對立起來,我和你不是敵對的雙方,而是同一條戰壕里的戰友,有富同享,有難同當,共同開創美好的未來。

  我贏你輸(自私自利)、我輸你贏(委曲求全)、雙輸(兩敗俱傷)這些思維模式,都是無法使人擁有良好的人際關系的。要想擁有良好的人際關系,就要有雙贏思維,擁有平等、互利的思想。


本文引用通告地址: http://blog.csdn.net/i_like_cpp/services/trackbacks/475017.aspx
posted @ 2005-09-13 21:22 冷夜 閱讀(747) | 評論 (1)編輯 收藏

2005年9月12日 #

靜態構造函數
靜態構造函數是一種成員,用來實現初始化一個類所需的操作。靜態構造函數不能帶參數,
不能具有可訪問性修飾符,也不能被顯式調用。類的靜態構造函數是自動地被調用的。
(上面的說明摘自《C# Language Specification》)

示例
class Employee
{
 private static int ds;
 static Employee() {
  ds = 2;
 }

 public Employee(int n)
{
    ds = n;
}

 public string Name;
 public decimal Salary;
}
顯示了一個 Employee 類,該類含有一個靜態構造函數,它初始化一個靜態字段

請注意下面的語句,會導致靜態構造函數先被調用,然后調用public的構造函數。也就是說執行了
兩個不同的構造函數,因此在實際應用中,需要注意到這種情況可能會引起的問題。

Employee em = new Employee(1);


(本文是本人以baodi_z的網名原發表在CSDN的個人BLOG,原文發表于 2005年06月07日 5:44 PM )

posted @ 2005-09-12 23:38 冷夜 閱讀(664) | 評論 (0)編輯 收藏

一個有趣的現象,摘自CSDN 吹云Blog《C++從零開始(十二)——何謂面向對象編程思想》原文http://blog.csdn.net/chuiyun/archive/2004/11/26/194722.aspx

    之所以摘錄這段文章,是因為我奇怪下面的例子竟然真的能夠編譯通過--在引用的文件中篡改類的private為public就可以直接訪問私有變量,而且能夠正常訪問和賦值。
    下面是摘錄的原文,有興趣的朋友不妨也試試編個代碼試驗一下。

-------------------------------------------------------------------

封裝

    先來看現在在各類VC教程中關于對象的講解中經常能看見的如下的一個類的設計。
    class Person
    { private: char m_Name[20]; unsigned long m_Age; bool m_Sex;
      public:  const char* GetName() const;  void SetName( const char* );
               unsigned long GetAge() const; void SetAge( unsigned long );
               bool GetSex() const;          void SetSex( bool );
    };
    上面將成員變量全部定義為private,然后又提供三對Get/Set函數來存取上面的三個成員變量(因為它們是private,外界不能直接存取),這三對函數都是public的,為什么要這樣?那些教材將此稱作封裝,是對類Person的內部內存布局的封裝,這樣外界就不知道其在內存上是如何布局的并進而可以保證內存的有效性(只由類自身操作其實例)。
    首先要確認上面設計的荒謬性,它是正宗的“有門沒鎖”毫無意義。接著再看所謂的對內存布局的封裝。回想在《C++從零開始(十)》中說的為什么每個要使用類的源文件的開頭要包含相應的頭文件。假設上面是在Person.h中的聲明,然后在b.cpp中要使用類Person,本來要#include "Person.h",現在替換成下面:
    class Person
    { public: char m_Name[20]; unsigned long m_Age; bool m_Sex;
      public: const char* GetName() const;  void SetName( const char* );
              unsigned long GetAge() const; void SetAge( unsigned long );
              bool GetSex() const;          void SetSex( bool );
    };
    然后在b.cpp中照常使用類Person,如下:
    Person a, b; a.m_Age = 20; b.GetSex();
    這里就直接使用了Person::m_Age了,就算不做這樣蹩腳的動作,依舊#include "Person.h",如下:
    struct PERSON { char m_Name[20]; unsigned long m_Age; bool m_Sex; };
    Person a, b; PERSON *pP = ( PERSON* )&a; pP->m_Age = 40;
    上面依舊直接修改了Person的實例a的成員Person::m_Age,如何能隱藏內存布局?!請回想聲明的作用,類的內存布局是編譯器生成對象時必須的,根本不能對任何使用對象的代碼隱藏有關對象實現的任何東西,否則編譯器無法編譯相應的代碼。
    那么從語義上來看。Person映射的不是真實世界中的人的概念,應該是存放某個數據庫中的某個記錄人員信息的表中的記錄的緩沖區,那么緩沖區應該具備那三對Get/Set所代表的功能嗎?緩沖區是緩沖數據用的,緩沖后被其它操作使用,就好像箱子,只是放東西用。故上面的三對Get/Set沒有存在的必要,而三個成員變量則不能是private。當然,如果Person映射的并不是緩沖區,而在其它的世界中具備像上面那樣表現的語義,則像上面那樣定義就沒有問題,但如果是因為對內存布局的封裝而那樣定義類則是大錯特錯的。
    上面錯誤的根本在于沒有理解何謂封裝。為了說明封裝,先看下MFC(Microsoft Foundation Class Library——微軟功能類庫,一個定義了許多類的庫文件,其中的絕大部分類是封裝設計。關于庫文件在說明SDK時闡述)中的類CFile的定義。從名字就可看出它映射的是操作系統中文件的概念,但它卻有這樣的成員函數——CFile::Open、CFile::Close、CFile::Read、CFile::Write,有什么問題?這四個成員函數映射的都是對文件的操作而不是文件所具備的功能,分別為打開文件、關閉文件、從文件讀數據、向文件寫數據。這不是和前面說的成員函數的語義相背嗎?上面四個操作有個共性,都是施加于文件這個資源上的操作,可以將它們叫做“被功能”,如文件具有“被打開”的功能,具有“被讀取”的功能,但應注意它們實際并不是文件的功能。
    按照原來的說法,應該將文件映射為一個結構,如FILE,然后上面的四個操作應映射成四個函數,再利用名字空間的功能,如下:
    namespace OFILE
    {
        bool Open( FILE&, … );  bool Close( FILE&, … );
        bool Read( FILE&, … );  bool Write( FILE&, … );
    }
    上面的名字空間OFILE表示里面的四個函數都是對文件的操作,但四個函數都帶有一個FILE&的參數。回想非靜態成員函數都有個隱藏的參數this,因此,一個了不起的想法誕生了。
    將所有對某種資源的操作的集合看成是一種資源,把它映射成一個類,則這個類的對象就是對某個對象的操作,此法被稱作封裝,而那個類被稱作包裝類或封裝類。很明顯,包裝類映射的是“對某種資源的操作”,是一抽象概念,即包裝類的對象都是無狀態對象(指邏輯上應該是無狀態對象,但如果多個操作間有聯系,則還是可能有狀態的,但此時它的語義也相應地有些變化。如多一個CFile::Flush成員函數,用于刷新緩沖區內容,則此時就至少有一個狀態——緩沖區,還可有一個狀態記錄是否已經調用過CFile::Write,沒有則不用刷新)。
    現在應能了解封裝的含義了。將對某種資源的操作封裝成一個類,此包裝類映射的不是世界中定義的某一“名詞性概念”,而是世界的“動詞性概念”或算法中“對某一概念的操作”這個人為定出來的抽象概念。由于包裝類是對某種資源的操作的封裝,則包裝類對象一定有個屬性指明被操作的對象,對于MFC中的CFile,就是CFile::m_hFile成員變量(類型為HANDLE),其在包裝類對象的主要運作過程(前面的CFile::Read和CFile::Write)中被讀。
    有什么好處?封裝提供了一種手段以將世界中的部分“動詞性概念”轉換成對象,使得程序的架構更加簡單(多條“動詞性概念”變成一個“名詞性概念”,減少了“動詞性概念”的數量),更趨于面向對象的編程思想。
    但應區別開包裝類對象和被包裝的對象。包裝類對象只是個外殼,而被包裝的對象一定是個具有狀態的對象,因為操作就是改變資源的狀態。對于CFile,CFile的實例是包裝類對象,其保持著一個對被包裝對象——文件內核對象(Windows操作系統中定義的一種資源,用HANDLE的實例表征)——的引用,放在CFile::m_hFile中。因此,包裝類對象是獨立于被包裝對象的。即CFile a;,此時a.m_hFile的值為0或-1,表示其引用的對象是無效的,因此如果a.Read( … );將失敗,因為操作施加的資源是無效的。對此,就應先調用a.Open( … );以將a和一特定的文件內核對象綁定起來,而調用a.Close( … );將解除綁定。注意CFile::Close調用后只是解除了綁定,并不代表a已經被銷毀了,因為a映射的并不是文件內核對象,而是對文件內核對象操作的包裝類對象。
    如果仔細想想,就會發現,老虎能夠吃兔子,兔子能夠被吃,那這里應該是老虎有個功能是“吃兔子”還是多個兔子的包裝類來封裝“吃兔子”的操作?這其實不存在任何問題,“老虎吃兔子”和“兔子被吃”完全是兩個不同的操作,前者涉及兩種資源,后者只涉及一種資源,因此可以同時實現兩者,具體應視各自在相應世界中的語義。如果對于真實世界,則可以簡略地說老虎有個“吃”的功能,可以吃“肉”,而動物從“肉”和“自主能動性”多重繼承,兔子再從動物繼承。這里有個類叫“自主能動性”,指動物具有意識,能夠自己動作,這在C++中的表現就是有成員函數的類,表示有功能可以被操作,但收音機也具有調臺等功能,難道說收音機也能自己動?!這就是世界的意義——運轉。

(本文是本人以baodi_z的網名原發表在CSDN的個人BLOG,原文發表于 2004年12月09日 2:09 PM )

posted @ 2005-09-12 23:35 冷夜 閱讀(2189) | 評論 (8)編輯 收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲一区二区三区在线| 欧美激情免费观看| 性做久久久久久久久| 午夜精品视频在线观看| 136国产福利精品导航网址应用| 免费欧美网站| 国产日韩一区在线| 一区二区三区久久久| 欧美性片在线观看| 在线观看日韩av电影| 亚洲高清资源| 国产精品手机在线| 亚洲电影在线播放| 新狼窝色av性久久久久久| 久热精品视频在线观看一区| 亚洲欧美精品在线| 欧美激情一区二区三级高清视频| 久久av资源网| 国产精品女主播| 99在线精品观看| 一区二区免费在线播放| 欧美电影在线播放| 欧美成人资源网| 亚洲国产精品成人va在线观看| 亚洲综合国产| 久久黄金**| 国产在线播放一区二区三区| 亚洲视频电影图片偷拍一区| 亚洲最新视频在线播放| 欧美凹凸一区二区三区视频| 欧美电影免费观看大全| 亚洲成色777777在线观看影院 | 在线亚洲欧美视频| 亚洲网站视频福利| 国产精品呻吟| 久久精品视频99| 欧美国产日本韩| 99视频精品| 亚洲欧美区自拍先锋| 国产日韩精品一区二区三区在线 | 999亚洲国产精| 日韩小视频在线观看| 国产精品嫩草99a| 一本色道久久综合亚洲精品不卡| 亚洲欧美成人| 国产一区在线视频| 欧美精品亚洲一区二区在线播放| 中国成人在线视频| 欧美激情一区二区三区蜜桃视频 | 亚洲电影成人| 欧美日韩亚洲国产一区| 亚洲男女自偷自拍图片另类| 免费不卡视频| 欧美一级艳片视频免费观看| 亚洲国产精品久久久| 国产有码在线一区二区视频| 欧美日韩一区二区三区在线 | 国产精品成人v| 久久久久国产成人精品亚洲午夜| 亚洲狼人综合| 亚洲精品男同| 欧美va亚洲va国产综合| 久久激情视频| 午夜精品久久久久久久久久久久| 欧美肥婆在线| 久久久成人网| 久久综合婷婷| 另类春色校园亚洲| 久久久久久久久久码影片| 亚洲欧美日韩国产综合| 一区二区国产日产| 午夜影院日韩| 欧美一级电影久久| 欧美一区午夜视频在线观看| 亚洲欧美日韩在线高清直播| 午夜免费久久久久| 亚洲小视频在线| 羞羞答答国产精品www一本| 午夜精品免费| 国产欧美一区二区三区久久人妖| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 欧美日韩精品在线播放| 欧美日韩在线第一页| 欧美视频国产精品| 国模大胆一区二区三区| 在线播放中文字幕一区| 99在线观看免费视频精品观看| 亚洲美女视频在线观看| 欧美一区二区三区在线看| 免费在线一区二区| 一区二区三区在线观看视频| 亚洲国产成人在线| 午夜精品区一区二区三| 亚洲第一福利在线观看| 午夜精品亚洲一区二区三区嫩草| 女人色偷偷aa久久天堂| 国产一区二区三区在线免费观看| 亚洲伦理网站| 亚洲日本va午夜在线电影| 亚洲三级毛片| 99视频一区二区| 欧美网站在线观看| 午夜在线精品| 久久免费99精品久久久久久| 国产精品vvv| 亚洲第一久久影院| 亚洲欧美日本视频在线观看| 亚洲人成小说网站色在线| 午夜精品久久久久久久久久久久久 | 麻豆精品精品国产自在97香蕉| 欧美黑人国产人伦爽爽爽| 一区国产精品| 欧美一区免费视频| 亚洲国产精品尤物yw在线观看| 久久一综合视频| 亚洲蜜桃精久久久久久久| 亚洲欧洲久久| 国产精品久久久久久超碰| 香蕉成人久久| 香蕉国产精品偷在线观看不卡| 国产精品热久久久久夜色精品三区| 亚洲国产精品欧美一二99| 久久久久久久久蜜桃| 亚洲精品日韩在线| 午夜欧美精品久久久久久久| 国产亚洲精品久久久久动| 葵司免费一区二区三区四区五区| 欧美黄色片免费观看| 亚洲欧美韩国| 麻豆精品一区二区av白丝在线| 亚洲精品久久久一区二区三区| 亚洲人成亚洲人成在线观看| 国产精品家庭影院| 亚洲激情影院| 在线精品观看| 在线亚洲自拍| 久久精品一区二区三区不卡| 午夜久久黄色| 国产精品久久久久久久久免费桃花| 亚洲国产精品久久久久秋霞不卡| 禁断一区二区三区在线| 欧美亚洲一级| 久久久久9999亚洲精品| 国产一区二区观看| 欧美伊人久久大香线蕉综合69| 亚洲日本va午夜在线影院| 亚洲综合第一| 亚洲一二三区精品| 久久在精品线影院精品国产| 亚洲欧美日韩久久精品 | 国产一区二区三区奇米久涩| 亚洲蜜桃精久久久久久久| 精久久久久久| 久久久久9999亚洲精品| 久久大香伊蕉在人线观看热2| 久久婷婷国产综合国色天香| 日韩视频在线免费观看| 麻豆成人综合网| 国产视频欧美视频| 久久精品亚洲精品国产欧美kt∨| 欧美激情久久久| 午夜在线a亚洲v天堂网2018| 亚洲精品日韩在线| 国内欧美视频一区二区| 欧美日韩国产欧| 裸体女人亚洲精品一区| 欧美亚洲网站| 在线视频欧美一区| 亚洲电影天堂av| 欧美在线短视频| 亚洲视频碰碰| 亚洲夫妻自拍| 国产有码一区二区| 国产日韩精品一区| 国产精品另类一区| 国产精品成人午夜| 欧美无砖砖区免费| 欧美日韩午夜剧场| 欧美激情一区二区三区四区| 久久综合久色欧美综合狠狠| 欧美一区二区性| 午夜精品在线看| 亚洲尤物在线| 亚洲桃色在线一区| 一区二区欧美精品| 99精品国产在热久久下载| 亚洲三级影院| 中文在线资源观看网站视频免费不卡| 亚洲国产精品成人久久综合一区| 亚洲激情电影在线| 国产一区二区三区四区在线观看 | 欧美日韩国产色综合一二三四| 亚洲欧美三级伦理| 国内精品久久久久影院色| 欧美日韩a区| 欧美激情影音先锋| 久久视频一区二区| 久久国产色av| 免费看av成人|