NSISI基本語法 編譯器指令

2021-08-29 01:17:59 字數 2253 閱讀 9877

接下來的一些都是使用nsis打包的時候常用的一些指令(或者說是,類似於**中的「型別」)

1、file

作用:釋放檔案到當前輸出路徑。(使用中與 setoutpath 配合使用,,一般直接給出指定的目錄即可)

常用引數:

/nonfatal 開關且當檔案未找到時使用警告來代替錯誤

/a 開關,則被新增的檔案的屬性將會保持

/r 開關,匹配的檔案將會在子目錄裡被遞迴的搜尋。如果目錄名匹配則所有包含的內容都會被遞迴新增,目錄結構也會被保持

/x 開關可以用來來排除檔案或目錄

[/nonfatal] [/a] ([/r] [/x file|wildcard [...]] (file|wildcard) [...] | /oname=file.dat infile.dat)
installdir "c:\ma_hong_kai"

;……

setoutpath $instdir ; $instdir--- 使用者定義的解壓路徑,和installdir配合使用

file "..\build\win32\release\mahongkai\mahongkai.dll"

installdir "c:\ma_hong_kai"

;……

setoutpath $instdir

file /r "..\mahongkai.dll"

2、delete

作用:從目標系統刪除檔案(可以是檔案或萬用字元,但應使用完整路徑指定)

[/rebootok] file
delete "$insdir\mahongkai.dll"
如果無法刪除,啟動後刪除

delete /rebootok "$insdir\mahongkai.dll"
3、rename

作用:把原始檔重新命名為目標檔案

[/ rebootok] source_file dest_file
rename $instdir\mahongkai.dll $instdir\mahongkai.dat
4、createdirectory

作用:建立 (遞迴建立) 指定的目錄。當目錄不能建立時會放置乙個錯誤標記。你也可以指定乙個絕對路徑

var /global  g_agi ;定義的變數都是全域性變數,

createdirectory "$g_agi \「開始」選單\程式\mhk"

5、rmdir

作用:刪除指定的目錄(沒有萬用字元的完全限定路徑,無法刪除當前工作目錄)

[/ r] [/ rebootok] directory_name

6、setoutpath

作用:設定輸出路徑($outdir)且當路徑不存在時建立(需要時會遞迴建立)。必須為絕對路徑名,通常都使用 $instdir

setoutpath $ instdir
7、createshortcut

作用:建立快捷檔案.lnk 目標檔案

link.lnk target.file [parameters [icon.file [icon_index_number [start_options [keyboard_shortcut [description]]]]]]
createshortcut  "$agi\ 「開始」選單\程式\mhk\mahongkailnk.lnk" "$instdir\mahongkaiexe.exe" "" "$instdir\mahongkaiexe.exe" 0
引數說明: 

/ rebootok 重新啟動時進行命令指定的操作,比如  rmdir / rebootok $ instdir  新啟動時將刪除在此過程中無法刪除的任何檔案或目錄

nsis使用手冊(講得很是詳細)

ma_hong_kai 學習筆記,如有錯誤之處,歡迎指正。

lldb編譯器除錯指令

xcode斷點 控制台除錯指令 lldb編譯器除錯指令 p 列印基本資料型別值 列印物件持有的位址 po 列印基本資料型別值 列印物件的詳細資訊 call 呼叫一行oc 指令並實時執行生效 bt 回溯追蹤棧資訊 位址 breakpoint list 列印斷點元素列表 thread list 列印執行...

編譯器的編譯基本過程

編譯器最基本的功能就是把高階語言 例如c fortran 編寫的 轉化為機器指令 就是01串 從這個角度來說它本質上是個轉換過程。經典的編譯過程主要包括 1 詞法分析 lexical analysis 語法分析的輸入是一連串的token 詞法分析的輸出 根據語言的語法規則不斷解析最後得到一棵抽象語法...

AS400編譯器偽指令

1 free 編譯器偽指令指定自由格式計算規範塊的開始。自由格式 end free 指定快的結束 2 copy 固定格式 b編譯器偽指令導致在所編譯的檔案內的偽指令出現位置插入來自其它檔案的記錄。不會列印在編譯器列表中,而是將所指定檔案的內容替換。賦值的所有檔案都出現在編譯器列表的copy成員表中。...