path環境變數用來存儲Java的編譯和運行工具所在的路徑,而classpath環境變數則用來保存保存Java虛擬機要運行的「class」文件路徑。環境變數是在操作系統中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如Windows和DOS操作系統中的path環境變數。
(1)path編譯路徑在哪擴展閱讀:
環境變數相當於給系統或用戶應用程序設置的一些參數,具體起什麼作用這當然和具體的環境變數相關。比如path,是告訴系統,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到哪些目錄下去尋找;
再如tc或vc++中,set include=path1;path2; 是告訴編譯程序到哪裡去找.h類型的文件;當然不僅僅是指定什麼路徑,還有其它的作用的。實際上是給命令解釋程序command設置的一個環境變數,並且是給dir這個內部命令設置的。
❷ linux編譯的c++程序位置
linux系統編神差孫譯C++程序時頭⽂件和庫⽂件搜索路徑
C++編譯時,教科書中寫道:#include 「headfile.h」優先在當前⽬錄查找頭⽂件;#include < headfile.h>從系統默認路徑查找頭⽂件。先
前以為系統默認路徑是環境變數$PATH指定的路徑,在系統上⼀查,傻了眼:
-bash-3.2$ echo$PATH
/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/usr/java/j2re1.4.0/bin:/usr/atria/bin:/ccase/bin:/home/devcomp
全是bin⽬錄,$PATH是運⾏可執⾏⽂件時的搜索路徑,與include頭⽂件的搜索路徑⽆關,可能不少⼈犯了我這樣的錯誤。
頭⽂件:
1. #include「headfile.h」
搜索順序為:
①先搜索當前⽬錄
②然後搜索-I指定的⽬錄
③再搜索gcc的環境變數CPLUS_INCLUDE_PATH(C程序使⽤的是C_INCLUDE_PATH)
④最後搜索gcc的內定⽬錄
/usr/include
/usr/local/include
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
各⽬錄存在相同⽂件時,先找到哪個使⽤哪個。
2. #include<headfile.h>
①先搜索-I指定的⽬錄
②然後搜索gcc的環境變數CPLUS_INCLUDE_PATH
③最後搜索gcc的內定⽬錄
/usr/include
/usr/local/include
/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
與上⾯的相同,各⽬錄存在相同⽂件時,先找到哪個使⽤哪游鏈個。這⾥要注意,#include<>⽅式不會搜索當前⽬錄!
這⾥要說下include的內定⽬錄,它不是由$PATH環境變數指定的,⽽是由g++的配置prefix指定的(知道它在安裝g++時可以指定,不知安
裝後如何修改的,可能是修改配置⽂件,需要時再研究下):
-bash-3.2$ g++ -v
Using built-inspecs.
Target:x86_64-redhat-linux
Configured with:../configure --prefix=/usr --mandir=/usr/share/man--infodir=/usr/share/info --enable-shared --enable-threads=posix--enable-checking=release --with-system-zlib --enable-__cxa_atexit--disable-libunwind-exceptions --enable-libgcj-multifile--enable-languages=c,c++,objc,obj-c++,java,fortran,ada--enable-java-awt=gtk --disable-dssi --enable-plugin--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre--with-cpu=generic --host=x86_64-redhat-linux
Thread model:posix
gcc version 4.1.2 20080704(Red Hat 4.1.2-46)
在安裝g++時,指定了prefix,那麼內定搜索⽬錄就是:
Prefix/include
Prefix/local/include
Prefix/lib/gcc/--host/--version/include
編譯時可以通過-nostdinc++選項屏蔽對內定⽬錄搜索頭⽂件。
庫⽂件:
編譯的時候:
①gcc會去找-L
②再找gcc的環境變數LIBRARY_PATH
③再找內定⽬錄/lib /usr/lib/usr/local/lib 這是當初compilegcc時寫在程序內的(不可配置的?)
運⾏時動態庫的搜索路徑:
動態庫的搜索路徑搜索的先後順序是:
①編譯⽬標代碼時指定的動態庫搜索路徑(慶跡這是通過gcc 的參數"-Wl,-rpath,"指定。當指定多個動態庫搜索路徑時,路徑之間⽤冒號":"分隔)
②環境變數LD_LIBRARY_PATH指定的動態庫搜索路徑(當通過該環境變數指定多個動態庫搜索路徑時,路徑之間⽤冒號":"分隔)
③配置⽂件/etc/ld.so.conf中指定的動態庫搜索路徑;
④默認的動態庫搜索路徑/lib;
⑤默認的動態庫搜索路徑/usr/lib。
(應注意動態庫搜尋路徑並不包括當前⽂件夾,所以當即使可執⾏⽂件和其所需的so⽂件在同⼀⽂件夾,也會出現找不到so的問題,類同#include<header_file>不搜索當前⽬錄)
¥
5
網路文庫VIP限時優惠現在開通,立享6億+VIP內容
立即獲取
linux系統編譯C++程序時頭文件和庫文件搜索路徑
linux系統編譯C++程序時頭⽂件和庫⽂件搜索路徑
C++編譯時,教科書中寫道:#include 「headfile.h」優先在當前⽬錄查找頭⽂件;#include < headfile.h>從系統默認路徑查找頭⽂件。先
前以為系統默認路徑是環境變數$PATH指定的路徑,在系統上⼀查,傻了眼:
-bash-3.2$ echo$PATH
/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/usr/java/j2re1.4.0/bin:/usr/atria/bin:/ccase/bin:/home/devcomp
第 1 頁
全是bin⽬錄,$PATH是運⾏可執⾏⽂件時的搜索路徑,與include頭⽂件的搜索路徑⽆關,可能不少⼈犯了我這樣的錯誤。
頭⽂件:
1. #include「headfile.h」
搜索順序為:
①先搜索當前⽬錄
②然後搜索-I指定的⽬錄
③再搜索gcc的環境變數CPLUS_INCLUDE_PATH(C程序使⽤的是C_INCLUDE_PATH)
展開全文
限免
導長圖
轉存到網盤
發送至微信
下載文檔
北京網路網訊科技有限公司 版本號8.0.70
❸ java用eclipse編譯運行後的文件保存在哪裡呢
會生成.class文件,只能用反編譯軟體看,在你的eclipse工作空間,一般是workspace下的工程中,路徑時你自己指定的,編譯輸出路徑的默認位置,普通工程:bin,web工程:WEB-INF/classes,maven工程:target/classes
❹ java源文件編譯時要放在哪裡
很可能是編譯的路徑沒選對,用絕對路徑也可以,用相對路徑也可以,絕對路徑:就是cmd調出管理員窗口後,輸入javac E:\xuexi\HelloWord.java。其中E:\xuexi\HelloWord.java就是源程序HelloWord.java的絕對路徑,即源程序文件在哪裡,它的絕對路徑就是從類似上述例子的路徑。相對路徑:一直點一直點,找到你寫的源文件HelloWord.java,然後在最上面路徑那一欄中把原來的名字全部刪掉,輸入cmd,這就是相對路徑。例如HelloWord.java在E:\xuexi下,只需要把最上面路徑欄里的E:\xuexi刪掉,換成cmd回車就可以了,最後再輸入javac HelloWord.java就可以編譯。如果有錯誤也會報錯。
❺ 怎麼改變eclipse編譯路徑
eclipse中找到編譯後的class路徑有兩種方法:
一、項目設置.class設置輸出路徑
右鍵項目 > Properties > Java Build Path > Source > Default Output Folder
2、點擊"Browse"時可以選擇目錄或新建目錄用於存放.class文件
設置完成後,src中的.java文件編譯後生成的.class文件與package所對應的目錄一起。
存放在classes目錄中。如圖:
二、設置全局.class文件輸出路徑
Window > Preferences > Java > Build Path > Source and Output Folder
如下圖:
此時再新建項目的時候會自動的將.class文件放置在你所設置的目錄中
❻ myeclipse的class文件編譯放置在哪裡,怎麼設置class文件的路徑
一,設置單個工程的class文件路徑
右擊工程,BulidPath——Configure Build Path