『壹』 從虛擬機上把文件復制到編譯器上編譯就會報錯為啥
1.下載在GCC網站上(閱讀。3.建立目標目錄目標目錄(用${objdir}表示)是用來存放編譯結果的地方。GCC建議編譯後的文件不要放在源目錄${srcdir]中(雖然這樣做也可以),最好單獨存放在另外一個目錄中,而且不能是${srcdir}的子目錄。例如,可以這樣建立一個叫gcc-build的目標目錄(與源目錄${srcdir}是同級目錄):%mkdirgcc-build%cdgcc-build以下的操作主要是在目標目錄${objdir}下進行。4.配置配置的目的是決定將GCC編譯器安裝到什麼地方(${destdir}),支持什麼語言以及指定其它一些選項等。其中,${destdir}不能與${objdir}或${srcdir}目錄相同。配置是通過執行${srcdir}下的configure來完成的。其命令格式為(記得用你的真實路徑替換${destdir}):%${srcdir}/configure--prefix=${destdir}[其它選項]例如,如果想將GCC3.4.0安裝到/usr/local/gcc-3.4.0目錄下,則${destdir}就表示這個路徑。在我的機器上,我是這樣配置的:%../gcc-3.4.0/configure--prefix=/usr/local/gcc-3.4.0--enable-threads=posix--disable-checking--enable--long-long--host=i386-redhat-linux--with-system-zlib--enable-languages=c,c++,java將GCC安裝在/usr/local/gcc-3.4.0目錄下,支持C/C++和JAVA語言,其它選項參見GCC提供的幫助說明。5.編譯%make這是一個漫長的過程。在我的機器上(P4-1.6),這個過程用了50多分鍾。6.安裝執行下面的命令將編譯好的庫文件等拷貝到${destdir}目錄中(根據你設定的路徑,可能需要管理員的許可權):%makeinstall至此,GCC3.4.0安裝過程就完成了。6.其它設置GCC3.4.0的所有文件,包括命令文件(如gcc、g++)、庫文件等都在${destdir}目錄下分別存放,如命令文件放在bin目錄下、庫文件在lib下、頭文件在include下等。由於命令文件和庫文件所在的目錄還沒有包含在相應的搜索路徑內,所以必須要作適當的設置之後編譯器才能順利地找到並使用它們。6.1gcc、g++、gcj的設置要想使用GCC3.4.0的gcc等命令,簡單的方法就是把它的路徑${destdir}/bin放在環境變數PATH中。我不用這種方式,而是用符號連接的方式實現,這樣做的好處是我仍然可以使用系統上原來的舊版本的GCC編譯器。首先,查看原來的gcc所在的路徑:%whichgcc在我的系統上,上述命令顯示:/usr/bin/gcc。因此,原來的gcc命令在/usr/bin目錄下。我們可以把GCC3.4.0中的gcc、g++、gcj等命令在/usr/bin目錄下分別做一個符號連接:%cd/usr/bin%ln-s${destdir}/bin/gccgcc34%ln-s${destdir}/bin/g++g++34%ln-s${destdir}/bin/gcjgcj34這樣,就可以分別使用gcc34、g++34、gcj34來調用GCC3.4.0的gcc、g++、gcj完成對C、C++、JAVA程序的編譯了。同時,仍然能夠使用舊版本的GCC編譯器中的gcc、g++等命令。6.2庫路徑的設置將${destdir}/lib路徑添加到環境變數LD_LIBRARY_PATH中,最好添加到系統的配置文件中,這樣就不必要每次都設置這個環境變數了。例如,如果GCC3.4.0安裝在/usr/local/gcc-3.4.0目錄下,在RHLinux下可以直接在命令行上執行或者在文件/etc/profile中添加下面一句:setenvLD_LIBRARY_PATH/usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH7.測試用新的編譯命令(gcc34、g++34等)編譯你以前的C、C++程序,檢驗新安裝的GCC編譯器是否能正常工作。8.根據需要,可以刪除或者保留${srcdir}和${objdir}目錄。如果用的是ubuntu或者是fedora的話可以在源里直接安裝
『貳』 Java 的命令行 編譯和運行參數 如:-cp 怎麼理解
javac
用法:javac <選項> <源文件>
其中,可能的選項包括:
-g 生成所有調試信息
-g:none 不生成任何調試信息
-g:{lines,vars,source} 只生成某些調試信息
-nowarn 不生成任何警告
-verbose 輸出有關編譯器正在執行的操作的消息
-deprecation 輸出使用已過時的 API 的源位置
-classpath <路徑> 指定查找用戶類文件的位置
-cp <路徑> 指定查找用戶類文件的位置
-sourcepath <路徑> 指定查找輸入源文件的位置
-bootclasspath <路徑> 覆蓋引導類文件的位置
-extdirs <目錄> 覆蓋安裝的擴展目錄的位置
-endorseddirs <目錄> 覆蓋簽名的標准路徑的位置
-d <目錄> 指定存放生成的類文件的位置
使用-d參數,如類中定義了包,則編譯時會自動生成包, 如:javac -d . helloworld.java
表示在當前目錄下編譯Helloworld 類。.表示當前目錄,如helloword中定義有包,則在當前目錄下生成包:
-encoding <編碼> 指定源文件使用的字元編碼
-source <版本> 提供與指定版本的源兼容性
-target <版本> 生成特定 VM 版本的類文件
-version 版本信息
-help 輸出標准選項的提要
-X 輸出非標准選項的提要
-J<標志> 直接將 <標志> 傳遞給運行時系統
java
用法: java [-選項] 類 [參數...]
(執行一個類)
或者 java [-選項] -jar jar文件 [參數...]
(執行一個jar文件)
其中,可能的選項包括:
-client 選擇 "client" VM(ginger547:應該是指Virtual Machine)
-server 選擇 "server" VM
-hotspot 與 "client" VM同義 [不贊成]
默認情況的VM是client.
-cp <一個文件夾和zip/jar文件組成的類搜索路徑>
-classpath <一個文件夾和zip/jar文件組成的類搜索路徑>
一個由文件夾,JAR壓縮文件,或者ZIP壓縮文件組成的用來搜索類的列表
-D<名字>=<值>
設置一個系統屬性
-verbose[:class|gc|jni]
使詳細輸出變的可用
-version 列印產品版本然後退出
-version:<值>
只運行指定版本
-showversion 列印產品版本後繼續
-jre-restrict-search | -jre-no-restrict-search
在版本搜索的時候,包含/排除用戶私人的JRE
-? -help 列印幫助信息
-X 列印非標准選項幫助
-ea[:<包名>...|:<類名>]
-enableassertions[:<包名>...|:<類名>]
使斷言可用
-da[:<包名>...|:<類名>]
-disableassertions[:<包名>...|:<類名>]
是斷言不可用
-esa | -enablesystemassertions
使系統級斷言可用
-dsa | -disablesystemassertions
使系統級斷言不可用
-agentlib:<庫名>[=<選項>]
載入本地代理庫<庫名>,例如. -agentlib:hprof
同時可查看, -agentlib:jdwp=help和 -agentlib:hprof=help
-agentpath:<路徑名>[=<選項>]
通過全路徑名來載入本地代理庫
-javaagent:<jar路徑>[=<選項>]
載入Java編程語言代理,可查看 java.lang.instrument
『叄』 linux cp命令對於拷貝文件和文件夾有何區別
cp文件時候可以不用加參數,但是cp文件夾的時候必須加-R或-r。解決方法如下:
1、首先將文件復制到另一個目錄中:cp 文件名 目錄名。復制a.txt至test目錄中,則執行 cp a.txt /test 即可。
『肆』 linux 比較大的文件,cp的過程中會影響原來文件寫入嗎
對於這個大文件來說,cp操作其實就是讀操作,與此同時還要進行寫操作。
這樣若是寫操作的數據量大的話肯定會有影響(磁碟IO會降低),若是寫操作數據量小的話,那影響就可以忽略了。
『伍』 linux中,用cp和tar備份一個目錄的時候,有什麼區別嗎
區別肯定有的。cp 是相對於windows的命令,不會對文件進行壓縮。tar會把文件打包為一個文件,好像也可以同時壓縮文件吧,記不清了。
『陸』 cp編譯時間是什麼意思
編譯時間(compiling time) 指編譯程序將源程序編譯成目標程序所佔用的時間。
用戶使用編譯程序對其個人編制的源程序進行編譯的過程稱為程序編譯。
用通俗的話來回答:編譯就是將人類語言轉換為機器語言的過程。早期的計算機只能識別機器碼,也就是由無數個0和1組成的命令和數據序列,人們要想叫機器做一個運算就要輸入很多機器碼,使用這種機器碼既費事又容易出錯。
『柒』 linux復制文件後源文件存在嗎
1、用cp命令可以復制全部文件。1)、復制的時候記得使用通配符*,*表示所有文件。
2)、復制的時候記得-R參數,即遞歸復制,可以將源文件夾下的子文件夾中的文件一並復制。
2、示例:將當前用戶home目錄下的doc文件夾下的所有文件復制到Downloads目錄中。
3、cp命令使用詳解:
1)、用法:cp [選項]... [-T] 源文件 目標文件
或:cp [選項]... 源文件... 目錄
或:cp [選項]... -t 目錄 源文件...
將源文件復制至目標文件,或將多個源文件復制至目標目錄。
2)、長選項必須使用的參數對於短選項時也是必需使用的。
-a, --archive 等於-dR --preserve=all
--backup[=CONTROL 為每個已存在的目標文件創建備份
-b 類似--backup 但不接受參數
---contents 在遞歸處理是復制特殊文件內容
-d 等於--no-dereference --preserve=links
-f, --force 如果目標文件無法打開則將其移除並重試(當 -n 選項
存在時則不需再選此項)
-i, --interactive 覆蓋前詢問(使前面的 -n 選項失效)
-H 跟隨源文件中的命令行符號鏈接
-l, --link 鏈接文件而不復制
-L, --dereference 總是跟隨符號鏈接
-n, --no-clobber 不要覆蓋已存在的文件(使前面的 -i 選項失效)
-P, --no-dereference 不跟隨源文件中的符號鏈接
-p 等於--preserve=模式,所有權,時間戳
--preserve[=屬性列表 保持指定的屬性(默認:模式,所有權,時間戳),如果
可能保持附加屬性:環境、鏈接、xattr 等
-c same as --preserve=context
--sno-preserve=屬性列表 不保留指定的文件屬性
--parents 復制前在目標目錄創建來源文件路徑中的所有目錄
-R, -r, --recursive 遞歸復制目錄及其子目錄內的所有內容
『捌』 Linux:為什麼在腳本中用到cp的時候總會有文件拷貝不全的情況呢
該用戶在cp某些文件時不具備這些文件的許可權,所以會拷貝不了。用ROOT許可權進行操作,cp命令加上-a參數 試試。
『玖』 linux執行cp命令後,文件拷貝結束的一瞬間斷電,文件會丟失嗎
這個……,看分區模式,要是「日誌」類的,啟動後會按日誌記錄,繼續做完整的。
現在不是實時都寫入的,除非你做了sync,否則可能就是在緩沖……所以……
『拾』 linux的cp -i 詢問是否覆蓋,但是文件太多,每次輸入「n」太麻煩。請問有什麼簡單辦法。
用mv命令就能實現覆蓋, mv file /dst/file 會把dst文件夾下的file覆蓋,如果dst下沒有file文件,就復制。 一個命令,能用就可以了。 不知道