在日常工作中,我們經常會有拷貝檔案的需求。相應的,我們也經常會有在程式語言裡面呼叫拷貝檔案的時候,比如c#中的system.io.file.copy。然而,拷貝乙個大檔案常常需要比較多時間和額外的硬碟空間,有時候,在某些情況下(哪些情況我們之後會談到)我們可以考慮使用建立檔案硬鏈結的方式。
從這些規則我們可以得知,硬鏈結和拷貝最大的不同在於,硬鏈結就像多了乙個指標一樣,對硬鏈結檔案內容的修改同樣會反應到原始檔上面,所以如果我們拷貝檔案之後會對檔案做出修改,那就不適合用硬鏈結。如果我們拷貝檔案的目的在於打包部署等,那麼用硬鏈結是很合算的操作。
那麼說了那麼多,究竟應該怎麼在c#裡面建立硬鏈結呢?很可惜,c#本身既不支援硬鏈結,也不支援軟鏈結。要想在c#中使用,我們只有通過dllimport呼叫未託管**。
[
dllimport
("kernel32"
, charset = charset.unicode)
]public
extern
static
bool
createhardlink
(string linkname,
string sourcename,
intptr attribute)
;
需要的時候,直接呼叫就可以
static
void
main
(string
args)
}class
scopestopwatch
:idisposable
public
void
dispose()
", m_watch.elapsedmilliseconds);}
}
其中,data是乙個5g的檔案,如果使用拷貝,需要三分鐘以上,然而用建立硬鏈結的方式,只需要幾毫秒就可以搞定,同時我們可以隨意的刪除原始檔。 在C 中使用Queue
介紹 queue類執行將放在在queue中的物件採用先進先出的資料結構。物件從一端插入到佇列中從另一端移除。物件的順序程序使用queue queue介面 queue類實現了三個主要集合介面 icollection ienumerable和icloneable。queue的重要方法 queue類常用的...
在 C 中使用畫筆
出處 在 c 中使用畫筆 public class rectangle shape protected point m start protected point m end public rectangle point start,point end,color fgcolor m start s...
在 C 中使用 Python script
想要在c 中嵌入script 除了自己寫指令碼引擎外,lua,python 都可以在c 中使用,另外 monobind,angelscript library 都是一些c script library,可以嵌入到c 中使用 今天在c 中試著嵌入 python 示例 在 python 2.5.2 de...