作者icetofux ()
看板C_and_CPP
標題[問題] 有辦法把檔案包進執行檔裡嗎
時間Tue May 7 13:25:49 2013
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
最近在編寫一支程式,程式中會在一個 char[256] 裡面查表,這個陣列的內容有變更
的需要,所以目前的作法是,將資料以 hex 的方式存成一個 256 byte 的檔案,比方
說像是 *.bin ,並且在執行程式時先以 binary 的方式讀入檔案。
但這個做法有兩個缺點:
1.一但少了 *.bin ,程式便無法運作。
2.任何人都可以知道 *.bin 裡面是什麼。
如果可以在編譯的時候,就將資料表直接包含在程式碼中,可以克服上面這兩個問題。
要實現這個功能,只要另外寫一支程式,將 *.bin 讀入並產生類似
char DataTable[256] = { 0x00, 0x01, 0x02 ... , 0xFF};
這樣的 .h 檔,再一起編譯就可以,只是比較麻煩而已,請問有更簡單的方法可以直
接把 *.bin 包進程式碼中編譯嗎?
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.72.212.239
※ 編輯: icetofux 來自: 211.72.212.239 (05/07 13:26)
→ hilorrk:objcopy 05/07 14:48
推 littleshan:xxd -i file.bin 05/07 18:25
→ littleshan:但就算你直接包進程式碼,還是可以直接開exe來看內容 05/07 18:26
→ littleshan:只是比較麻煩一點 05/07 18:26
推 damody:用資源檔 不就好了? 05/08 13:10