window程式移植到linux(二)

2021-07-05 07:31:42 字數 1996 閱讀 9957

1.

windows程式中檔案查詢函式 

setcurrentdirectory函式;

findfirstfile函式;

getfullpathname函式;

cstringlist& cfilesearchengine::searchfile(

cstring strpath, 

cstringlist &listfilename,

cstring strfilename)

}while (findnextfile(hfindhandle, &finddata) !=  0)}}

findclose(hfindhandle);

}hfindhandle  =  findfirstfile("*", &finddata);

if ((hfindhandle !=  invalid_handle_value))

}while (findnextfile(hfindhandle, &finddata) !=  0)}}

findclose(hfindhandle);

}return listfilename;}

在linux下實現檔案查詢

cstringlist& cfilesearchengine::searchfile(

cstdstring strpath,

cstringlist &listfilename,

cstdstring strfilename)

while((file = readdir(pdir)) != null)

if(strcmp(file->d_name,strfilename) == 0)} }

int pos = strpath.reversefind('/');

strpath.delete(pos, strpath.length() - pos);

if (strpath != "")                           //這裡是從最裡面的資料夾往外層搜尋直到根目錄遞迴呼叫

closedir(pdir);

return listfilename;}

2.windows程式中_splitpath函式在linux中的實現**自網上資料)

void

_splitpath(

const

char

*path, 

char

*drive, 

char

*dir, 

char

*fname, 

char

*ext)  

if('/'

== path[strlen(path)])  

p_whole_name = rindex(path, '/'

);  

if(null != p_whole_name)  

else

}  static

void

_split_whole_name(

const

char

*whole_name, 

char

*fname, 

char

*ext)  

else

}  3.wndows程式中獲取磁碟剩餘空間大小

函式:bool ret = getdiskfreespaceex(

drive,

(pularge_integer)&qwfreebytestocaller,

(pularge_integer)&qwtotalbytes,

(pularge_integer)&qwfreebytes);

linux下可以使用 

int statfs(const char *path, struct statfs *buf);

int fstatfs(int fd, struct statfs *buf);

標頭檔案    #include /* or */

struct statfs ;

移植程式到symbian平台

symbian平台理論上可以平移標準的c c 語 言程式,以及標準庫。只需要在mmp檔案中進行如下編寫 target hello.exe targettype exe uid 0 sourcepath source slhello.c systeminclude epoc32 include lib...

c 程式移植到android

在android 4.4之後新增了新的保護機制,可執行檔案必須是採用pie編譯的。如果是使用ndk進行編譯的 需要使用到android.mk指令碼 則在指令碼中新增 local cflags pie fpie local ldflags pie fpie 如果是手動採用交叉編譯鏈進行編譯的,則在編譯...

Linux程式移植到Android上

序言 由於本人還是比較偏重於先說明原理在說明實際操作步驟,要知其然更要知其所以然,如下圖所示 一般情況下,有兩種方法。1.乙個就是將程式靜態編譯,將程式中所有需要的庫全部編譯進可執行檔案中。這樣程式在android中執行就不需要鏈結任何動態庫了。但是帶來乙個非常大的弊端就是這個程式會非常大,資源利用...