2017年11月16日 星期四

設定CentOS時間與NTP伺服器時間同步

將系統與NTP 的伺服器同步
設定步驟
1.以root 的身分登入
2. 執行下面的指令安裝NTP
# yum install ntp
3. 啟動服務
#chkconfig ntpd on
4. 設定系統和 time.stdtime.gov.tw 同步 (以time.stdtime.gov.tw為例)
#ntpdate time.stdtime.gov.tw
5.啟動ntp
# service ntpd start
6.可以執行下面的指令確定目前系統的時間
#date

Visual Studio 2017 建立 DLL(Dynamic Linking Library)

以 VS2017 為例

1.檔案 -> 新增 -> 專案



2.已安裝 -> Visual C++ -> Windows Desktop -> Windows 傳統式精靈



3. 應用程式類型 -> 動態連結程式庫(.dll) -> 空白專案




4. 在專案中加入 .cpp 與 .h 檔





5.在 (.h)檔 中加入以下程式碼

#pragma once
__declspec(dllexport) int myadd(int a, int b);

6.在 (.cpp) 檔 中加入以下程式碼

 #include "ProjectDll.h"
int myadd(int a, int b) {

    return a + b;
}

7. 建制 -> 重建方案 後即可產生 DLL 檔




呼叫剛剛建置的DLL

1.檔案 -> 新增 -> 專案 -> 已安裝 -> Visual C++ -> Windows Desktop -> Windows 傳統式精靈 -> 主控台應用程式



  
2.先在專案的屬性(property) -->  C/C++  -->  一般 (general)  -->其他Include目錄
 將剛剛編譯的DLL的(.h)檔的位置include進來

 
3.在連結器(linking) --> 一般(general)  --> 其他程式庫目錄
這邊將你剛剛編譯的DLL的(.lib)檔的路徑加進來

 





4.在連結器(linking) --> 輸入(input) -->其它相依性(additional dependencies)
輸入剛剛編譯的DLL(.lib)檔的名字



5.程式中include你的DLL的(.h)檔即可呼叫DLL中的方法來使用了

 #include "xxx.h"

6.compiler完,記得將你剛剛編譯的DLL檔放在你的EXE檔的同一個資料夾中








 

2017年11月1日 星期三

GUI applications entirely in Golang(not finish)

golang GUI,隨手筆記

稍微做了點資料搜集,下方列出三種目前找到的第三方套件,目前看來QT對於各個平台支援較為齊全.
但也有人主推HTML5,沒有跨平台的問題.



QT:
https://github.com/therecipe/qt#linux-1

支援平台
Target                       Arch.                   Host OS
----------------------------------------------------------
windows.                  (32 / 64)              Any
android(+Wear)        arm                      Any
Linux                        64                        Any
macOS                      64                        macOS
iOS                           (arm + arm64)     macOS
Raspberry Pi             arm                      Any

Awesome:
https://awesome-go.com

QML:
https://github.com/go-qml/qml

HTML5:
透過http, websocket 等方式跟go溝通