2018年4月28日 星期六

資料夾 勾選 全部子資料夾變成項目,怎麼恢復讓他自己根據檔案自己選項目

資料夾 勾選 全部子資料夾變成項目,怎麼恢復讓他自己根據檔案自己選項目

在資料夾右鍵
內容->自訂->最佳化此資料夾->假設設定成影片
可以打勾同時套用所有子資料夾,導致所有資料夾都是大圖示顯示,有非影片的資料夾也變成大圖示了,如何恢復成自己適應變成適合的顯示模式。
對著母資料夾
改成->任一個+打勾套用所有子資料夾
然後再改回來任一個項目(不要跟剛剛一樣的舉例來說變回一般項目)
然後取消同時套用所有子資料夾
再來就會恢復了,子資料自己會依照裡面的檔案是什麼自己變成適當的顯示方式

2018年4月24日 星期二

Visual Studio 2017 上傳到 github 中文是亂碼

Visual Studio 2017 上傳到 github 中文是亂碼

主要的問題是 Visual Studio 2017 使用 Big5 儲存而 Git 使用 UTF-8,只要把她修正儲存的時候存成 UTF-8 即可。
Visual Studio 2017 內建有功能可以直接Big5 轉 UTF-8,只是預設清單上沒有這個功能選項被隱藏了需要手動開出來,功能名字是進階儲存選項
工具->自訂
命令 -> 加入新命令 -> 檔案 -> 進階儲存選項
這樣就可以在檔案內看到了
選擇檔案之後選中這個即可
之後重新提交上傳到 Github

2018年4月22日 星期日

PowerShell 第一次使用需開啟功能

PowerShell 第一次使用需開啟功能

第一次使用需要開啟功能,使用 Win+X,然後按一下a
開啟 PowerShell 視窗,然後輸入
Set-ExecutionPolicy RemoteSigned
然後 輸入 Y 按下 enter 開啟 PowerShell 的功能

2018年4月20日 星期五

makefile 通配符,獲取目錄下的所有檔案名稱

makefile 通配符,獲取目錄下的所有檔案名稱

通配符

有3個可以使用的指定通配符
## wildcard 
# 獲取指定副檔名名稱
SRC=$(wildcard *.cpp)
# 如果要獲得子目錄就在前面加上
SRC=$(wildcard ./dir/*.cpp)
# 如果有多個子目錄
SRC=$(wildcard ./dir1/*.cpp ./dir2/*.cpp)

## notdir
# 去除目錄名稱僅保留檔案名稱
Src2=$(notdir $(SRC))

## patsubst
# 更改 *.cpp 名稱為 *.o
OBJ:=$(patsubst %.cpp,%.o,$(Src2))

參考

2018年4月16日 星期一

泊松混合與拉普拉斯金字塔混合,縫合圖片實作差異

泊松混合與拉普拉斯金字塔混合,縫合圖片實作差異

時間

拉普拉斯:120ms
泊松:428ms

原圖縫合效果

原圖比較
拉普拉斯金字塔
泊松混合

調整亮度後縫合效果

原圖比較
拉普拉斯金字塔混和
泊松混合

2018年4月11日 星期三

PowerShell 批次處理 刪除google雲端硬碟副本下載後產生的副檔名

PowerShell 批次處理 刪除google雲端硬碟副本下載後產生的副檔名

雲端硬碟如果使用建立副本的方式下載就會產生的副本字樣,比如說
原始檔案為
ABC.jpg
產生副本之後
ABC.jpg.jpg 的副本
下載到windwos之後就不能看到預覽圖了也沒辦法直接播放,需要刪除多餘的副檔名

如何刪除副檔名

批次檔案:下載
沒有加殼,可自行查閱代碼,確認安全

使用方法

下載放到你要的資料夾,然後按右鍵用poweshell執行,即可。
資料夾可以不用同一層,預設會自動搜尋3層內的。
第一次使用需要開啟功能,使用 Win+X,然後按一下a
開啟powershell視窗,然後輸入
Set-ExecutionPolicy RemoteSigned
然後 輸入 Y 按下 enter 開啟powershell的功能

2018年4月9日 星期一

為什麼 function 可以 deref 好幾次結果仍相等

為什麼 function 可以 deref 好幾次結果仍相等

簡單解釋來說是存在著隱式轉換把 point 轉換到 function,這樣不管你解參考幾次都會自己轉回來,而參考只能參考一次。

參考

[6.3.2.1-4]
4 Afunction designator is an expression that has function type. Except when it is the operand of the sizeof operator, the _Alignof operator,65) or the unary & operator, a function designator with type ‘‘function returning type’’ is converted to an expression that has type ‘‘pointer to function returning type’’.
[6.5.3.2-1]
The operand of the unary & operator shall be either a function designator, the result of a [] or unary * operator, or an lvalue that designates an object that is not a bit-field and is not declared with the register storage-class specifier.
[6.5.3.2-4]
The unary * operator denotes indirection. If the operand points to a function, the result is a function designator; if it points to an object, the result is an lvalue designating the object.
If the operand has type ‘‘pointer to type’’, the result has type ‘‘type’’. If an invalid value has been assigned to the pointer, the behavior of the unary * operator is undefined.102) Forward references: storage-class specifiers (6.7.1), structure and union specifiers (6.7.2.1).