2013/06/30

HelloWorld ... 第一隻C++程式

有寫過程式的人一定知道
所有人寫第一隻程式的名字叫作
Hello World
讓我們來寫第一隻程式吧~

開啟編輯器輸入以下的內容
#include <iostream>

using std::cout;
using std::endl;

int main()
{
    cout << "Hello World, C++" << endl;
    return 0;
}
將檔案存成helloworld.cpp
並在同一個資料夾中執行
# bcc32 helloworld.cpp
接著會多出一個helloworld.exe的執行檔
執行之後就會出現
"Hello World, C++"

#include <iostream> 
有#開頭都是指前處理,是編譯的第一過程,會將標頭檔放入程式中、將某些字串替換掉、或是將程式碼作區隔。在這個範例中是將標頭檔放到程式中。而這邊所用到的iostream是定義之後會用到的功能:cout, endl, <。這個標頭檔是提供標準輸入與輸出的功能。

using std::cout;
using std::endl;
是指說本程式會用到"std這個名稱空間"裡的cout與endl的標準函式。為什麼要這樣定義呢?因為很有可能大家都會定義到相同的函式名稱,所以指定好特定的名稱空間,這樣就不會搞錯了。


int main()
{
  cout << "Hello World, C++" << endl;
  return 0;
}
int是只要傳出的資料型態,int是整數的資料型態。main是所有程式一開始的執行的位置。
cout << "Hello World, C++" 是只說要將"Hello World, C++"傳到標準輸出的地方(通常預設都是螢幕)。<< endl;只說要換行的意思。最後的return 0是指要傳出的結果為0,這邊要傳出的資料型態必須跟一開始所宣告的一樣。


這樣就完成了一個簡單也是最難的一隻程式(所謂的萬事起頭難啊),讓我們繼續下去。

2013/06/23

建立編譯環境 ...

在了解了編譯的過程之後
要如何在自己的電腦安裝編譯器呢?
市面上有很多畫面漂亮的IDE軟體 (整合編譯器與文件編輯器)
像是visual studio 2012, eclipse...
但是我會建議初學者先用簡單的方式來練習

會建議使用者安裝notepad++作為開發的工具
可以到下面網頁下載
http://notepad-plus-plus.org/

在編譯器的部分,我這邊會建議一套簡單的編譯器
Borland C++ Compiler到下面的網頁下載
http://edn.embarcadero.com/article/20633
填入基本的資料就可以下載了
安裝完之後記得到
滑鼠右鍵"我的電腦"->內容->進階->環境變數->系統變數->Path
再選"編輯"->變數值的最後加入";C:\Borland\Bcc5\Bin"
(代表到任何的資料夾都可以打C:\Borland\Bcc5\Bin這裡面的指令)

接著開啟"命令提式字元"輸入bcc32
如果有執行出結果就代表安裝成功了
接著就可以開始第一隻程式了

2013/06/16

編譯的過程...

大家都知道程式設計主要是
將人類懂得語言轉為機器懂得語言
雖然都是由同一個CPU與同一種硬碟
但是在不同的作業系統也是有不同的機器語言

那要如何將人類懂的語言轉為機器語言呢?
我們都是透過編譯器來完成這項任務
基本上我們寫了C++的語言之後
我們會執行編譯器
讓它來將我們寫的C++程式語言轉成機器語言

編譯器會經歷以下的過程來轉成執行檔(機器語言)
1. 前處理 (preprocess)
會將引用到的標頭檔(xxx.h)給載入,並處理前置指令與變數
2. 編譯 (compile)
語法檢查以及最佳化程式碼的動作
並且將檔案的內容轉成2進位的目的檔(xxx.o)
3. 連結 (link)
將別人寫好的靜態函式庫(xxx.a)連結到程式中,最後變成執行檔

編譯器會完成執行檔
但是在執行前還是有一件事要做
- 裝載器 (loader)
就是將動態函式庫(xxx.dll)載入到程式中
最後將程式給執行起來

對靜態函式庫與動態函式庫有興趣的人可以參考這篇文章

2013/06/15

實施急救 ~

這篇是介紹實際上遇到傷患的一些急救的方法

※ CPR:主要是患者沒有呼吸 & 心跳
    如果有"8歲以下、創傷、溺水、中毒",則先救再叫
    1. 叫 : 拍雙肩、呼叫
    2. 叫 : 打119
    3. C : 按壓乳頭中間,100次/分鐘,5cm深度以上,(30壓:2呼)
    4. A : 暢通呼吸道
    5. B : 人工呼吸

※ 窒息:
     用哈姆立克法

※ 創傷
    - 眼睛受傷:雙眼覆蓋
    - 鼻腔受傷:坐姿、前傾、5~6分鐘按壓、30分鐘以上流血不止送醫院
    - 口腔受傷:用紗布止血,若牙齒掉了,放到口腔送醫植牙
    - 耳朵受傷:傾向受傷側,不能壓耳洞
    - 胸部受傷:用手掌密封,成半坐臥,有東西插入不要拔出
    - 腹部受傷:讓傷口變小,用袋子將腸子包住
    - 截肢:用生理食鹽水包住,或放入冰水中
    - 壓傷:移除重物, 頭放低、腿抬高
    - 炸傷:呈坐臥姿
    - 腦震盪:不會有後遺症,1~2天會好,嘔吐
    - 腦挫傷:熊貓眼、耳後黑 → 顱內出血
    - 脊椎損傷 -> 別動

※ 止血 (500cc以下OK,1000cc以上有問題)
    敷料不可為衛生紙,可以用紗布、毛巾、棉質衣服、衛生棉。遠到近包紮
    - 直接加壓止血法 + 抬高傷口 + 冷敷止血
    - 止血點 (動脈壁會受損):用4指+姆指,旋轉
    - 止血帶:寬5公分,近心端,要隨時觀察

※ 休克 (有效循環血量銳減)
    血液變少(出血、非出血)、心臟無力(心肌梗塞、心律不整、心臟衰竭)、血管擴張
    1. 代償期:頭昏、心悸、四肢冰冷
    2. 進行期:反應變慢、膚色暗
    3. 不可逆轉期:神致喪失
    - 暢通呼吸道、控制出血、平躺+坐、固定骨折、保暖、禁食


※ 腦中風 (缺血(血栓)、出血(動脈硬化))
    安撫、躺+墊高頭部、禁食、送醫
    F : 臉不對稱
    A : 手臂無法高舉
    S : 口齒不清
    T : 馬上就醫

※ 癲癇:腦神經不正常放電
    - 小發作(6 ~ 14歲):重複的動作
    - 大發作
        1. 先兆期
        2. 強直期(停止呼吸10秒)
        3. 陣攣期(抽動1~3分鐘)
        4. 恢復期(10~30分鐘恢復))

※ 中毒
    - 飲食:多喝水、左側臥
    - 吸入:搬移現場、安全距離
    - 接觸:沖水

※ 中暑:體溫超過41度C,20 ~ 70%死亡率

※ 熱衰竭:體溫正常

急救概論...

前一陣子有上了急救的課程
這邊將筆記的內容分享給大家

※ 急救的目的:維持生命、防止惡化、促使健康
    關於這點我們應該都是以第一點為主
    而且都是用在自己最重要的人

※ 最重要的部位 (腦幹、心臟、肺臟)
    其中心臟與肺臟可以用CPR來救援

※ 黃金的救援時間:4~6分鐘
    如果這時沒有給予大腦適度的氧氣
    之後大腦就會腦死了
    聽當時的講師說
    台灣救護車抵達事故地點的時間平均4分鐘
    學急救就是要在這四分鐘裡發揮最大的功效

※ 先打119
    這是所以上課的講師說一定要先做的事情
    為了自保 & 讓更多人來協助的最重要的事情
    如果有家用電話請用家用電話打
    因為119那邊可以直接定位到地點

※ 急救的步驟
    1. 觀察現場 (20秒)
    2. 初步評估  (呼吸、心跳、意識)
        A. 氣道要通 & 頸椎有沒有斷 (如果斷了就...)
        B. 是否能呼吸
        C. 出血 (看膚色與體溫)
        D. 能不能行動
    3. 實施救援
    4. 二度評估(有了呼吸)

※ 急救後的姿勢
    - 半坐臥 (胸部以上有傷口)
    - 復甦 (沒有外傷)
    - 平躺抬高下肢 (下半身有傷口)