2014年8月27日 星期三

C++簡介


歷史
Bjarne Stroustrup在攻取Ph.D 時就有一個構想,如何研究出一套方便又好用的程式語言。1979他參考了Simula的功能後,開始修改c語言,而在AT&T Bell Labs製作出Simula-like 的加強版C語言,稱做"C with Classes"的程式語言,這就是C++的前身,他將以下的功能(features)加入C語言的編譯器:class、derived class、strong typing、inlining和default argument
在1983才將其命名為 C++ (++ 是C語言的increment operator),新增的features 包含virtual functions、function name 和operator overloading、references、constants、ype-safe free-store memory allocation (new/delete)、improved type checking和BCPL style single-line comments with two forward slashes (//),以及C++的 compiler for C++(Cfront)。
在1985,第一個C++ Programming Language 版本被發行被released,而第一版商業化的C++在同年10月被released。
C++ 2.0在1991發行,新的features包含multiple inheritance、abstract classes、static member functions、const member functions和protected members. 在1990,C++ 的參考手冊被發行。後續更陸續新增了一些feature,包含 templates、exceptions、namespaces、new casts和 boolean type。
在2011,C++11 被發行,而且新增了更多的 features和standard library。


2014年7月16日 星期三

Powershell與WMI Provider的簡介和使用(新增和設定rigistry key)

目的:了解如何使用Powershell使用WMI Provider
目標:1、經由Powershell Console呼叫WMI Provider來修改rigistry key和設定其default value。
      2、經由Powershell Script呼叫WMI Provider來修改rigistry key和設定其default value。

WMI Provider簡介

WMI是Windows system的資訊database,經由 WMI Service連結到database來query database的資訊。
經由以下的步驟可以經由開啟WMI Control Properties來看到 WMI的詳細資訊(Name space)
1、經由Administrative Tools打開 "Computer Management"
2、展開 "Services and Applications."
3、Right-click "WMI Control" 和選擇Properties.



WMI Namespace 底下包含許多classes, class則由properties和methods所組成。我們可以經由PowerShell 來使用WMI 的class做一些系統環境的設定。
以下顯示如何使用Get-WmiObject cmdlet來list出 Namespace的classes

2014年7月13日 星期日

PowerShell Provider的簡介和使用(新增和設定rigistry key)

PowerShell Providers 是 .NET programs允許mount "data stores"成 drives來工作,簡單的存取PowerShell environment的外部資料,如如同file system 般的存取registry。這意味著能如同使用存取files和 folders的cmdlets,可以參考以下的 table 。

簡短的敘述
Windows PowerShell providers提供簡單的command line來存取data和components不須另外的command,data類似一個file system drive般的呈現。

完整描述
Windows PowerShell providers 是NET programs ,使Windows PowerShell 可以簡單的view和manage在特殊data store的data。
Provider將data呈現在drive,如同一個hard drive,可以使用provider支援的built-in cmdlets來管理資料,另外也可特別針對一些data來製作custom cmdlets。
Providers 也可以搭配 "dynamic parameters"來使用 built-in cmdlets,當cmdlet被使用來存取provider data。
Provider 也被稱為 "snap-in" ,如同PowerShell 的dynamic link library (.dll), library當執行command時,指示PowerShell來做action的code。也就是說如果使用VBScript 來讀取registry,不需要再寫code。 可以寫新的和 Custom 的Providers,請參考 The PowerShell Software Developers Kit provides documents should you wish to build your own Providers.

列出PowerShell 的Providers
使用 "Get-PSProvider" cmdlet