linux下編譯程式使其處理超過2G的大檔案

2021-05-25 02:19:30 字數 504 閱讀 7118

為使程式可以處理大檔案的能力,在檔案中可以新增:

#define -d_largefile_source

#define -d_largefile64_source

#define -d_file_offset_bits=64

在gcc編譯時,加入的大檔案(大於2g)支援引數:

gcc -d_file_offset_bits=64 -d_largefile_source -d_largefile64_source -o x.o x.c

這些編譯引數讓編譯後的程式支援64bit的系統呼叫操作,從而使程式處理沒有2g檔案的限制。

若使用makefile,這些引數需用在編譯命令中:

cxxflags    = -static -g -c -i$(includedir) -d_largefile_source -d_largefile64_source -d_file_offset_bits=64

gcc  $(cxxflags) $(sourcefile)

Linux下使用CMake編譯程式

參考 你或許聽過好幾種 make 工具,例如 gnu make qt 的 qmake 微軟的 ms nmake,bsd make pmake makepp,等等。這些 make 工具遵循著不同的規範和標準,所執行的 makefile 格式也千差萬別。這樣就帶來了乙個嚴峻的問題 如果軟體想跨平台,必須...

linux之編譯程式

編譯程式 為什麼需要編譯軟體 可用性。儘管系統發行版倉庫中已經包含了大量的預編譯程式,但是一些發行版本不可能包含所有期望的應用,在這種情況下,得到所期望程式的唯一方式是編譯程式原始碼。及時性。雖然一些系統發行版專門打包前沿版本的應用程式,但是很多不是。這意味著,為了擁有乙個最新版本的程式,編譯是必需...

Linux環境下使用CMake編譯程式

mkdir build cd build cmake g unix makefiles make d巨集名 on,設定option開關 dcmake build type debug 新增除錯資訊 方法一 要在呼叫add x指令前設定該變數,否則不起作用 set cmake install rpat...