1、因?yàn)槟愕漠?dāng)前目錄不在path變量下,因此系統(tǒng)找不到a.out……linux和dos不一樣,不會(huì)自動(dòng)掃描當(dāng)前目錄。shell的話,已經(jīng)運(yùn)行起來了,你在運(yùn)行指令的地方就是shell。
從策劃到設(shè)計(jì)制作,每一步都追求做到細(xì)膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、域名注冊(cè)、網(wǎng)頁空間、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、 網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進(jìn)步。
2、在Linux圖形界面無法雙擊運(yùn)行g(shù)cc生成的可執(zhí)行文件,一般是因?yàn)榫帉懙某绦蚴强刂婆_(tái)程序,而不是GUI程序,不是程序不運(yùn)行,而是因?yàn)闆]有GUI界面,所以用戶看不到效果。正確的作法是在終端中運(yùn)行。
3、你不加 ./,它會(huì)把你輸入的東西當(dāng)成一個(gè)命令,所以會(huì)報(bào)錯(cuò):找不到 a.out 這個(gè)命令 你加了 ./,指明了相對(duì)路徑,它知道這個(gè)東西肯定不是一個(gè)命令,所以直接去執(zhí)行 ./a.out 這個(gè)文件。
4、你進(jìn)入了另一個(gè)程序,你需要退出來可以繼續(xù)敲命令,就像你在windows里面你打開了一個(gè)記事本里面敲ping肯定不好用一個(gè)道理。用ctrl+c退出來。
5、a.out 是linux/unix環(huán)境下gcc編譯源代碼(c/c++)并連來接產(chǎn)生的默認(rèn)執(zhí)行文件名。一個(gè)單獨(dú)的點(diǎn)號(hào)指代當(dāng)前文件路徑。
根據(jù)報(bào)錯(cuò)知道,沒有發(fā)現(xiàn)函數(shù)的相關(guān)聲明,這些聲明應(yīng)該是在 Random.h中,并且這個(gè)文件應(yīng)該是你自己寫的,主要包括這個(gè)類中一些聲明。另外你源文件Randomc這是C文件呀,不是C++,C中是沒有類的,不知道你注意沒。
-c 參數(shù)表示將源文件編譯成object(目標(biāo)文件)。 即 gcc -c foo.c 會(huì)編譯成 foo.o gcc 不加參數(shù)時(shí)會(huì)編譯且嘗試鏈接成可執(zhí)行文件,然而 foo.c 的代碼中沒有main函數(shù)的定義,所以最終無法成功鏈接,故報(bào)錯(cuò)。
重新配置GCC環(huán)境還是很麻煩的,需要gcc的包和glibc的庫支持。最好建議是重新完全安裝一個(gè)新版本的Linux操作系統(tǒng)。如果你對(duì)gcc的編譯環(huán)境的配置感興趣的話,可以到網(wǎng)上找 lfs 文件系統(tǒng)的制作就知道gcc的環(huán)境是怎么配置的了。
使用的命令應(yīng)該是針對(duì)文件的命令。在使用過程命令中把參數(shù)指定成了目錄,所以linux報(bào)錯(cuò)說“這是一個(gè)目錄”。可以理解為linux在提醒,這是一個(gè)目錄不是文件,這個(gè)命令應(yīng)該是針對(duì)文件的。
嚴(yán)格來說,你的命令不是很嚴(yán)格。先不說這個(gè)問題了。你的寫法思路正確,只是在處理管道前邊得到的內(nèi)容時(shí)有三個(gè)小小的錯(cuò)誤。第一,要把grep 進(jìn)程也一并過濾去。
第一種:這個(gè)問題是普遍存在的,當(dāng)你啟動(dòng)Linux后(默認(rèn)進(jìn)入圖形界面)的那種,然后你按轉(zhuǎn)換鍵轉(zhuǎn)到終端狀態(tài),運(yùn)行StartX這個(gè)時(shí)候圖形界面應(yīng)該是運(yùn)行的,肯定會(huì)提示錯(cuò)誤的,你想一下這個(gè)邏輯關(guān)系就好了。
linux運(yùn)行命令時(shí)出現(xiàn)wrong ELF class: ELFCLASS32錯(cuò)誤提示是設(shè)置錯(cuò)誤造成的:在Linux安裝Screen,使用yum -y install screen安裝。