ubuntu怎么用gcc編碼 ubuntu18.04自帶的gcc版本有哪些?
ubuntu18.04自帶的gcc版本有哪些?有兩個(gè)版本,一個(gè)是6.4.0,一個(gè)是7.3.0,都存儲(chǔ)文件在/usr/bin下。linux怎么編寫讀寫器程序?在linux下正常情況使用gedit或vim
ubuntu18.04自帶的gcc版本有哪些?
有兩個(gè)版本,一個(gè)是6.4.0,一個(gè)是7.3.0,都存儲(chǔ)文件在/usr/bin下。
linux怎么編寫讀寫器程序?
在linux下正常情況使用gedit或vim真接匯編語言.c程序,然后把指令編譯。以Ubuntu系統(tǒng)為例,具體一點(diǎn)過程追加:
1、再次進(jìn)入桌面Temp文件夾
2、右鍵剛建空白文件
3、將文件名稱之前為hi~.c
4、剛剛進(jìn)入hello.c,開始編寫代碼(默認(rèn)gedit為編輯器)
5、編寫代碼,存放后退
6、點(diǎn)擊右列“終端”,或則再CtrlAltT通過方便,安全組合鍵剛剛進(jìn)入終端
7、進(jìn)入嗨小伙伴們.c所在目錄,是從gcc并且程序編譯、鏈接、生成可執(zhí)行文件hello,hello,下命令為gcc-o嗨小伙伴們hello.c。
8、執(zhí)行(可想執(zhí)行)文件嗨小伙伴們,命令為./嗨小伙伴們。
ubuntu下怎么打包寫好的Qt程序?
你可以相關(guān)參考SQLiteStudio這個(gè)Qt寫的跨平臺(tái)SQLite管理工具,它自己穿越小說合集了依賴性太強(qiáng)的Qt庫,也可以你做到壓縮包即用,兼容相同Linux發(fā)行版.道理當(dāng)然跟Windows版Qt程序從網(wǎng)上下載Qt庫差不多吧.
編譯程序前給連接器傳一個(gè)參數(shù):
說明:
-Wl來表示提醒編譯器將后面的參數(shù)傳達(dá)給鏈接器.
rpath是gcc的一個(gè)參數(shù),當(dāng)程序被程序加載時(shí),會(huì)仔細(xì)搜索rpath目錄,收集共享庫.
rpath添加的目錄信息能保存在可執(zhí)行文件中.
$ORIGIN可以表示可執(zhí)行文件所在的位置的目錄.
也就是啟動(dòng)時(shí)程序會(huì)先去自己原先的目錄的lib里去打開程序依戀庫,沒有的話再去系統(tǒng)庫里找.
如果不是你的程序在編譯時(shí)是沒有傳遞rpath參數(shù),那我也也可以用patchelf來改你程序的rpath:
再注意:patchelf修改文件后再wraps會(huì)可能導(dǎo)致文件損毀.
因此肯定先用strip刪除掉符號(hào)表突然縮小二進(jìn)制文件,然后把再用patchelf設(shè)置里rpath.
題外話,Android上既沒有g(shù)libc庫,也沒有庫鏈接器
如果沒有你要把Debian ARM(如樹莓派Raspbian)上的軟件扔到Android上跑,你一樣的這個(gè)可以發(fā)郵箱程序依戀的共享庫,讓程序也能跑在Android上,例如PHP:
也那是你把庫鏈接器和PHP依賴的庫都放在/data/policies/tmp/web/lib里,接著可以設(shè)置個(gè)別名,就能在Android的adbshell里啟動(dòng)樹莓派的PHP了.
其實(shí),你也是可以用patchelf設(shè)置中PHP的interpreter和rpath,效果不多: