當前位置:首頁 » 編程軟體 » 寄文件編譯

寄文件編譯

發布時間: 2023-10-25 12:26:20

Ⅰ eclipse中怎麼找到編譯後的class路徑

在使用eclipse的時候,編寫好源代碼點擊運行按鈕就會在控制台出現結果。大家都知道,JVM執行的是位元組碼文件而不是源文件,那麼位元組碼文件放在哪裡?eclipse在哪裡找?通過以下分析來解決這個問題。

工具: Eclipse Neon版本

源碼: Student.java

1.使用eclipse編寫Student.java源文件


Ⅱ 如何製作安卓軟體

問題一:怎麼製作安卓系統,或是安卓系統的軟體,用到什麼工具 其他的品牌我不知道,HTC有專用的解包工具,就是把IMG文件給解包,然後你就可以做出相應的更改了,我玩過的。更改完之後再進行壓縮,壓縮稱為IMG文件就可以刷了。還挺容易的,其他品牌的可以就有限制了。記得給分

問題二:怎麼樣製作安卓軟體 請自學JAVA和Android studio(下載1點幾個G的是完整版)。
電腦要安裝JAVA 的JDK,不用Android studio用eclipse也行,不過要自己裝SDK。

問題三:如何製作一個安卓版的APP軟體方案 隨著智能手機的普及,移動app已經應用到我們生活的各個地方。有些人就開始想,我想製作一個自己專有的Android app但是我沒有編程的經驗,怎麼辦呢?
其實在早起Google就宣布了App Inventer的計劃,只要在Google登記,就有機會參與計劃,利用Google開發的軟體編寫軟體的網站,就可以簡單開發自己App。但在這里,筆者想介紹一下一個更簡單的Android App開發網站-Dorokuri。
DOROKURI 是一個日本網站,內里提供 4 個預設的版面,讓用戶自製 4 個不同的軟體,分別有製作 Android 主頁的行針時鍾 Widget 的doroAnalogClockWidget 、製作短片播放器的 doroMovie 、製作相簿的 doroPhotoAlbum 及鬧鍾軟體 doroWakeUpCall 。
使用 DOROKURI 差不多毫無難度,但這不代表人人都可以透過 DOROKURI 製作軟體,上載到 Android Market 賺錢,因為使用 DOROKURI 有些限制,包括用戶不準將軟體上傳到 Market ,由於軟體的 Package Name 是預設的,所以 Android 將會認出軟體是由 DOROKURI 製作,而且每部手機只可安裝一個以 DOROKURI 製作的軟體。要避免上述限制,用戶也可以考慮使用 DOROKURI 的收費服務。
軟體完成後,會寄存在 DOROKURI 網站,供他人下載,用戶也可以透過 twitter向朋友發布軟體,如果用戶不希望軟體公開下載,只要先在 DOROKURI 免費注冊成會員,就可製作不向外發布的私人軟體。
DOROKURI 的用處很廣泛,例如製作簡單的產品相片目錄,又或是情侶為另一半製作專屬的鬧鍾程式,先錄低一段叫醒對方的聲音,再配以一幅甜密合照,包保每朝起床都特別 Sweet 。下面以一個鬧鍾軟體為例,帶大家進入007的鬧鍾:

問題四:如何製作安卓簡單軟體 親,的確是被你打動了但是我學識不淵博,很遺憾幫助不到你,但是我搜集到了一些資料,你可以去看看。你得去了解安卓系統底層結構,最起
碼懂得Jave語言,學會apk膽程序布局
文什編寫,代碼編寫,這個比較麻
煩,好多搞c++的人去弄安卓也覺得
頭大,何況我們這些玩家呢!以上這
些不是在網上下幾個所謂的apk 編寫
軟體能搞定的,樓主執意要干,建議
去關注一個叫「微雲引擎」的安卓2d游
戲編輯器(免費的),按教程慢慢
干,祝你成功

問題五:有什麼安卓軟體可以自己動手製作簡單的安卓游戲? 按鍵精靈

問題六:如何製作一個安卓app(過程)? 安裝JDK Java開發工具包,ADK 安卓開發工具包,開發工具Eclipse或Android Studio,學習Java語言。新建一個工程,寫代碼實現想要的邏輯,build生成安裝包 apk,部署到模擬器或實體機上測試。
Over.

問題七:...,如何製作出一個最簡單的Android應用程序? 新建項目
布局界面
布局界面xml
代碼界面
最後別忘了,要在AndroidManifest.xml文件中加入發簡訊的許可權
ok,大致就是這樣了!這一段是最主要的代碼哦!
jingyan./...4

問題八:安卓app應用製作好了 如何更改啊 如果是製作好的 .apk 文件, 你想把網站A改成網站B是不可能的。 應該網站地址可能被寫到了2個地方:
1. XML文件里,但此時的XML文件你打開全是亂碼是無法使用的,所以無法修改
2..java源碼裡面,但此時都已經生成了位元組碼,你也是看不到的,所以無法修改

你想改網址,除非你有源碼,然後在源碼中修改,然後重新編譯生成新的 .apk 文件。不然是改不了的

問題九:做安卓軟體開發需要哪些工具? 推薦下面幾款開發工具:
android studio
eclipse
Basic4Android
Gimbal context ware
Titanium SDK
Vuforia
Safe ijiami

問題十:怎麼製作安卓系統,或是安卓系統的軟體,用到什麼工具 其他的品牌我不知道,HTC有專用的解包工具,就是把IMG文件給解包,然後你就可以做出相應的更改了,我玩過的。更改完之後再進行壓縮,壓縮稱為IMG文件就可以刷了。還挺容易的,其他品牌的可以就有限制了。記得給分

Ⅲ 什麼是編譯程序

編譯程序指將某一種程序設計語言寫的程序翻譯成等價的另一種語言的程序的程序, 稱之為編譯程序

編譯程序也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。

它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。

編譯程序的實現演算法較為復雜,這是因為它所翻譯的語句與目標語言的指令不是一一對應關系,而是一多對應關系,同時也因為它要處理遞歸調用、動態存儲分配、多種數據類型,以及語句間的緊密依賴關系。

由於高級程序設計語言書寫的程序具有易讀、易移植和表達能力強等特點,編譯程序廣泛地用於翻譯規模較大、復雜性較高、且需要高效運行的高級語言書寫的源程序。

(3)寄文件編譯擴展閱讀:

編譯流程分為了四個步驟:

1.預處理,生成預編譯文件(.文件)

2.編譯,生成匯編代碼(.s文件)

3.匯編,生成目標文件(.o文件)

4.鏈接,生成可執行文件

Ⅳ java 編譯優化問題

java編譯的結果是位元組碼而不是二進制,所以在運行時vm的優化才是重要的,包括VM的回收策略、分配給VM內存的大小都能在一定程度上影響性能。Sun的VM支持熱點編譯,對高頻執行的代碼段翻譯的2進制會進行緩存,這也是VM的一種優化。

IBM JVM處理數學運算速度最快,BEA JVM處理大量線程和網路socket性能最好,而Sun JVM處理通常的商業邏輯性能最好。不過Hotspot的Server mode被報告有穩定性的問題。

Java 的最大優勢不是體現在執行速度上,所以對Compiler的要求並不如c++那樣高,代碼級的優化還需要程序員本身的功底。

貼個java的運行參數:

Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print proct version and exit
-version:<value>
require the specified version to run
-showversion print proct version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see

java.lang.instrument

-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs rece use of OS signals by Java/VM (see

documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.

Java虛擬機(JVM)參數配置說明

在Java、J2EE大型應用中,JVM非標准參數的配置直接關繫到整個系統的性能。
JVM非標准參數指的是JVM底層的一些配置參數,這些參數在一般開發中默認即可,不需

要任何配置。但是在生產環境中,為了提高性能,往往需要調整這些參數,以求系統達

到最佳新能。
另外這些參數的配置也是影響系統穩定性的一個重要因素,相信大多數Java開發人員都

見過「OutOfMemory」類型的錯誤。呵呵,這其中很可能就是JVM參數配置不當或者就沒

有配置沒意識到配置引起的。

為了說明這些參數,還需要說說JDK中的命令行工具一些知識做鋪墊。

首先看如何獲取這些命令配置信息說明:
假設你是windows平台,你安裝了J2SDK,那麼現在你從cmd控制台窗口進入J2SDK安裝目

錄下的bin目錄,然後運行java命令,出現如下結果,這些就是包括java.exe工具的和

JVM的所有命令都在裡面。

-----------------------------------------------------------------------
D:\j2sdk15\bin>java
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print proct version and exit
-version:<value>
require the specified version to run
-showversion print proct version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see

java.lang.instrument
-----------------------------------------------------------------------
在控制台輸出信息中,有個-X(注意是大寫)的命令,這個正是查看JVM配置參數的命

令。

其次,用java -X 命令查看JVM的配置說明:
運行後如下結果,這些就是配置JVM參數的秘密武器,這些信息都是英文的,為了方便

閱讀,我根據自己的理解翻譯成中文了(不準確的地方還請各位博友斧正)
-----------------------------------------------------------------------
D:\j2sdk15\bin>java -X
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs rece use of OS signals by Java/VM (see

documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.

The -X options are non-standard and subject to change without notice.
-----------------------------------------------------------------------

JVM配置參數中文說明:
-----------------------------------------------------------------------
1、-Xmixed mixed mode execution (default)
混合模式執行

2、-Xint interpreted mode execution only
解釋模式執行

3、-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
設置zip/jar資源或者類(.class文件)存放目錄路徑

3、-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
追加zip/jar資源或者類(.class文件)存放目錄路徑

4、-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
預先載入zip/jar資源或者類(.class文件)存放目錄路徑

5、-Xnoclassgc disable class garbage collection
關閉類垃圾回收功能

6、-Xincgc enable incremental garbage collection
開啟類的垃圾回收功能

7、-Xloggc:<file> log GC status to a file with time stamps
記錄垃圾回日誌到一個文件。

8、-Xbatch disable background compilation
關閉後台編譯

9、-Xms<size> set initial Java heap size
設置JVM初始化堆內存大小

10、-Xmx<size> set maximum Java heap size
設置JVM最大的堆內存大小

11、-Xss<size> set java thread stack size
設置JVM棧內存大小

12、-Xprof output cpu profiling data
輸入CPU概要表數據

13、-Xfuture enable strictest checks, anticipating future default
執行嚴格的代碼檢查,預測可能出現的情況

14、-Xrs rece use of OS signals by Java/VM (see

documentation)
通過JVM還原操作系統信號

15、-Xcheck:jni perform additional checks for JNI functions
對JNI函數執行檢查

16、-Xshare:off do not attempt to use shared class data
盡可能不去使用共享類的數據

17、-Xshare:auto use shared class data if possible (default)
盡可能的使用共享類的數據

18、-Xshare:on require using shared class data, otherwise fail.
盡可能的使用共享類的數據,否則運行失敗

The -X options are non-standard and subject to change without notice.

Ⅳ 編程和代碼有什麼區別

腳本是編程代碼的一種。
腳本的特點是,腳本本身不編譯為機器碼。而是依託於寄主(虛擬機,腳本解釋器等)。
其實真正起執行作用的是寄主。腳本命令寄主按照腳本的需求來執行操作。
而常規的編譯型的代碼,通過編譯器編譯成獨立的可執行文件。可執行文件本身就包含了執行語句。它自己來執行自己所需的操作。
你可以簡單這么理解:常規編譯型的代碼,是奔跑的人。而腳本是騎馬的人,腳本解釋器就是他的坐騎。真正跑起來的是馬而不是人。
一般腳本執行效率會低一些,但開發起來容易一些。(只是一般情況)

c語言中 自動變數 靜態變數 寄存器變數 外部變數 有可比性嗎區別在哪簡單易懂點吧~

c語言中變數分為四類,分別是
1.auto 自動變數
2.static 靜態存貯分配變數(又分為內部靜態和外部靜態)
3.extern 外部變數/全程變數(用於外部變數說明)
4.register 寄存器變數(分配在硬體寄存器中)
四大類,所有變數必須先說明(定義),後使用。

下面分別介紹
1.自動變數(局部變數)
局部變數:在一個函數開頭或段開頭處說明的變數,
它有幾個特徵,,
a、作用域為定義它的函數
b、編譯器不會對自動變數給予隱含的初值,故其值不確定,因此每次使用前必須明確的置初值。
c、形參是自動變數,作用域僅限於相應函數內
d、自動變數隨函數的引用而存在和消失,由一次調用到下一次調用之間不保持值。
2.外部變數:在函數外部定義的變數即為外部變數,它的作用域是整個程序(全程變數)。
a. c程序可以分別放在幾個文件上,每個文件可以作為一個編譯單位分別進行編譯。外部變數只需在某個文件上定義一次,其它文件若要引用此變數時,應用extern加以說明(外部變數定義時不必加extern關鍵字)。

b. 在同一文件中,若前面的函數要引用後面定義的外部(在函數之外)變數時,在函數里加extern加以說明。
引進外部變數的原因:解決函數單獨編譯的協調;與變數初始化有關;外部變數的值是永久的;解決數據共享;
注意:函數本身也被認為是外部變數
3.靜態變數:分為內部靜態變數和外部靜態變數
內部靜態變數:a.在局部變數前加上static就為內部靜態變數
b.靜態局部變數仍是局部變數,其作用域仍在定義它的函數范圍內,但它採用靜態存貯分配(由編譯程序在編譯時分配,而一般的自動變數和函數形參均採用動態存貯分配,即在運行時分配空間),當函數執行完,返回調用點時,該變數並不撤銷,再次調用時,其值將繼續存在。
外部靜態變數:a.在函數外部定義的變數前加static即為外部靜態變數
b.作用域為定義它的文件,即成為該文件的私有變數,其他文件上的函數一律不得直接訪問,除非通過它所在文件上的函數進行操作,這可實現數據隱 藏。
4.寄存器變數:只有自動(局部)變數和函數參數才能進一步指定為寄存器存貯類
a.使用register變數可以提高存取速度,但寄存器變數的數目依賴於具體機器,聲明多了也只有前幾個有效。
b.只限於int,char,short ,unsigned和指針類型用寄存類。
c.不能對register變數取地址(即&操作)

Ⅶ sendmail 在linux 中如何啟動

分類: 電腦/網路 >> 操作系旁散統/系統故障
解析:

Sendmail的配置十分復雜。它的配置文件是sendmail.cf,位於/etc/mail目錄下。由於sendmail.cf的語法深奧難懂,很少有人會直接去修改該文件來對Sendmail伺服器進行配置。我們一般通過m4宏處理程序來生成所需的sendmail.cf文件。創建的過程中還需要一個模板文件,系統默認在/etc/mail目錄下有一個sendmail.mc模板文件。

我們可以根據簡單、直觀的sendmail.mc模板來生成sendmail.cf文件,而無需直接編輯sendmail.cf文件。可以直接通過修改sendmail.mc模板來達到定製sendmail.cf文件的目的。這里介紹創建sendmail.cf文件的步驟:

(1)備份原亮物有sendmail.cf文件

在終端敬啟液命令窗口運行以下命令:

cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK

(2)生成sendmail.cf文件

根據sendmail.mc模板文件產生sendmail.cf配置文件,並導出到/etc/mail/目錄下:

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

(3)重啟sendmail服務

[root@ahpeng root] /etc/rc.d/init.d/sendmail restart

很顯然,用m4宏編譯工具創建sendmail.cf文件比較方便,而且不容易出錯,更可以避免某些帶有安全漏洞或者過時的宏所造成的破壞。一個sendmail.mc模板的大致內容如下:

divert(-1)dnl

......

include('/usr/share/sendmail-cf/m4/cf.m4')dnl

VERSIONID('setup for Red Hat Linux')dnl

OSTYPE('linux')dnl

......

dnl #

dnl define('SMART_HOST',' *** tp.your.provider')

dnl #

define('confDEF_USER_ID',''8:12'')dnl

define('confTRUSTED_USER', ' *** msp')dnl

dnl define(′confAUTO_REBUILD′)dnl

......

這里介紹sendmail.mc模板的語法組成:

dnl:用來注釋各項,同時dnl命令還用來標識一個命令的結束。

divert(-1):位於mc模板文件的頂部,目的是讓m4程序輸出時更加精簡一些。

OSTYPE ('OperationSystemType'):定義使用的操作系統類型,顯然這里應該用linux代替OperationSystemType,注意要用一個反引號和一個正引號把對應的操作系統類型括起來。

define:定義一些全局設置,對於Linux系統,設置了OSTYPE之後,可以定義下面的一些全局參數,如果不定義,就使用默認值。這里舉兩個簡單例子:define('ALIAS_FILE','/etc/aliases')

定義別名文件(alia file)的保存路徑,默認是/etc/aliases

define('STATUS_FILE', '/etc/mail/statistics')

sendmail的狀態信息文件。

以上只是sendmai.mc的一些簡單的語法解釋,更多的參數含義及其配置信息可以參見sendmail/m4/eaking_config。

為新用戶開電子郵件賬號

在Linux里為新用戶開設電子郵件賬戶比較簡單,只需在Linux系統里新增一個用戶即可。單擊"主菜單→系統設置→用戶和組群"菜單項,打開"Red Hat用戶管理器"對話框,單擊"添加用戶"按鈕,在出現的"創建新用戶"對話框里指定用戶名、登錄口令即可,如圖3所示。

假設我們添加了一個用戶Peter(密碼為peter),這樣該用戶就有了一個郵件地址Peter@YourDomain(此處的YourDomain用你自己域名代替)。

以上過程也可以在終端命令窗口運行以下命令來實現:

[root@ahpeng root]#adser peter -p peter

為電子郵件賬戶設置別名

有一些用戶想使用多個電子郵件地址,是不是需要創建多個郵件賬號呢?我們可以使用別名(alias)來解決這個問題。

比如說,用戶peter想擁有以下3個電子郵件地址:

peter@YourDomain、dearpeter@ YourDomain、truepeter@ YourDomain。

我們可以通過以下步驟來實現這樣的別名設置:

新增一個賬號peter;然後用vi、或者Kate等文本編輯器打開/etc/aliases,在裡面加上兩行:

dearpeter: peter

truepeter: peter

保存該/etc/aliases退出。

不過,就這樣還不能讓Sendmail接受新增的別名,我們必須在終端命令窗口運行newaliases命令,以要求Sendmail重新讀取/etc/aliases文件。如果一切無誤,應該可以看到類似以下的回應消息:

[root@ahpeng root]# newaliases

/etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total

這樣,發給peter的郵件可以使用3個郵件地址,而peter只需要使用一個電子郵件賬號peter@YourDomain就可以接收所有寄給以上3個地址的電子郵件。

指定郵箱容量限制

當一個郵件伺服器為許多人提供郵件服務時,無 *** 的電子郵件將很容易塞滿伺服器的硬碟,造成硬碟負擔。如果不想為用戶提供無限空間的郵件暫存空間,可以使用"郵件限額"來給用戶一個有限的暫存空間。

其實,它是利用磁碟配額功能來實現的。電子郵件的暫存空間是在/var/spool/mail目錄下,只要通過磁碟配額設定每一個用戶在這個目錄下能使用的最大空間即可。

支持POP和IMAP功能

到現在為止,我們已經可以用Outlook Express發送郵件,或者登錄伺服器使用mail、pine命令收取、管理郵件。但是還不能用Outlook Express等客戶端從伺服器下載郵件,這是因為Sendmail並不具備POP3(IMAP)的功能,所以我們必須自己安裝。

(1)POP和IMAP伺服器安裝

安裝Red Hat Linux 9.0時,可以選擇安裝POP和IMAP伺服器,可以在終端命令窗口運行以下命令進行驗證:

[root@ahpeng root]# rpm -qa imap

imap-2001a-18

如果沒有安裝,可以將第2張安裝光碟放進光碟機,然後在終端命令窗口運行以下命令即可開始安裝:

[root@ahpeng root]#cd /mnt/cdrom/RedHat/RPMS

[root@ahpeng root]#rpm -ivh imap-2001a-18.i386.rpm

由於Red Hat Linux 9.0已經將POP和IMAP打包成一個單獨的套件,安裝好imap-2001a-18.i386.rpm,就會同時安裝這兩個伺服器

(2)啟動POP和IMAP服務

要成功啟動POP和IMAP伺服器,首先要確定這些服務存在於/etc/services文件,確保以下的服務前面沒有加上#注釋(如果有,必須去除注釋)。

imap 143/tcp imap2 # Interim Mail Access Proto v2

imap 143/udp imap2

pop2 109/tcp pop-2 postoffice # POP version 2

pop2 109/udp pop-2

pop3 110/tcp pop-3 # POP version 3

pop3 110/udp pop-3

修改好/etc/services文件,接下來就要對相應服務配置文件進行定製:

啟動POP3服務:必須修改/etc/xid.d/ipop3文件,將其中的"disable=yes"改為"disable=no",保存該文件。最後必須重新啟動xid程序來讀取新的配置文件,使得設定內容生效:

[root@ahpeng root]#/etc/rc.d/init.d/xid reload

啟動IMAP服務:必須修改/etc/xid.d/imap文件,將其中的"disable = yes"改為"disable =no",保存該文件。最後必須重新啟動xid程序來讀取新的配置文件,使得設定內容生效:

[root@ahpeng root]#/etc/rc.d/init.d/xid reload

設置好以後,就可以在Outlook Express裡面設置好郵件賬號,以後就可以直接利用Sendmail伺服器進行收發郵件了,由於郵件伺服器就在本地區域網,所以速度很快。

Ⅷ 誰能夠解釋下編譯原理中什麼是FIRSTVT,和LASTVT,盡量淺顯易懂點謝謝

給你COPY一個看管用不,雖然不懂你在問什麼...

算符優先分析 [上一節] [下一節]

5.2.1 算符優先文法及其優先表構造

一個文法,如果它的任一產生式的右部都不含兩個相繼(並列)的非終結符,即不含如下形式的產生式右部:

…QR…

則我們稱該文法為算符文法。

在後面的定義中,a、b代表任意終結符;P、Q、R代表任意非終結符;『…』代表由終結符和非終結符組成的任意序列,包括空字。

假定G是一個不含e-產生式的算符文法。對於任何一對終結符a、b,我們說:

1. a�6�7b當且僅當文法G中含有形如P→…ab…或P→…aQb…的產生式;

2. a�6�3b當且僅當G中含有形如P→…aR…的產生式,而Rb…或RQb…;

3. a�6�4b當且僅當G中含有形如P→…Rb…的產生式,而R…a或R…aQ。

如果一個算符文法G中的任何終結符對(a,b)至多隻滿足下述三關系之一:

a�6�7b,a�6�3b, a�6�4b

則稱G是一個算符優先文法。

現在來研究從算符優先文法G構造優先關系表的演算法。

通過檢查G的每個產生式的每個候選式,可找出所有滿足a�6�7b的終結符對。為了找出所有滿足關系�6�3和�6�4的終結符對,我們首先需要對G的每個非終結符P構造兩個集合FIRSTVT(P)和LASTVT(P):

FIRSTVT(P)={a | Pa…或PQa…,a�0�2VT而Q�0�2VN}

LASTVT(P)={a | P…a或P…aQ,a�0�2VT而Q�0�2VN}

5.2.2 算符優先分析演算法

所謂素短語是指這樣的一個短語,它至少含有一個終結符,並且,除它自身之外不再含任何更小的素短語。所謂最左素短語是指處於句型最左邊的那個素短語。如上例,P*P和i是句型P*P+i的素短語,而P*P是它的最左素短語。

現在考慮算符優先文法,我們把句型(括在兩個#之間)的一般形式寫成:

#N1a1N2a2…NnanNn+1# (5.4)

其中,每個ai都是終結符,Ni是可有可無的非終結符。換言之,句型中含有n個終結符,任何兩個終結符之間頂多隻有一個非終結符。必須記住,任何算符文法的句型都具有這種形式。我們可以證明如下定理(證明留給有興趣的讀者作練習):

一個算符優先文法G的任何句型(5.4)的最左素短語是滿足如下條件的最左子串Njaj…NiaiNi+1,

aj-1�6�3aj

aj�6�7 aj+1,…,ai-1�6�7ai

ai�6�4ai+1

根據這個定理,下面我們討論算符優先分析演算法。為了和定理的敘述相適應,我們現在僅使用一個符號棧S,既用它寄存終結符,也用它寄存非終結符。下面的分析演算法是直接根據這個定理構造出來的,其中k代表符號棧S的使用深度。

5.2.3 優先函數

在實際實現算符優先分析演算法時,一般不用表5.1這樣的優先表,而是用兩個優先函數f和g。我們把每個終結符q與兩個自然數f(q)和g(q)相對應,使得

若q1�6�3q2 則 f(q1)<g(q2)

若q1�6�7q2 則 f(q1)= g(q2) (5.5)

若q1�6�4q2 則 f(q1)>g(q2)

函數f稱為入棧優先函數,g稱為比較優先函數。使用優先函數有兩方面的優點:便於作比較運算,並且節省存儲空間,因為優先關系表佔用的存儲量比較大。其缺點是,原先不存在優先關系的兩個終結符,由於與自然數相對應,變成可比較的了。因而,可能會掩蓋輸入串的某些錯誤。但是,我們可以通過檢查棧頂符號q和輸入符號a的具體內容來發現那些原先不可比較的情形。

如果優先函數存在,那麼,從優先表構造優先函數的一個簡單方法是:

1. 對於每個終結符a(包括#)令其對應兩個符號fa和ga,畫一張以所有符號fa和ga為結點的方向圖,如果a �6�4�6�7b,那麼,就從fa畫一箭弧至gb;如果a�6�3�6�7b,就畫一條從gb到fa的箭弧。

熱點內容
pythonspyder 發布:2024-05-06 11:15:53 瀏覽:165
線上伺服器如何資源監控 發布:2024-05-06 11:15:07 瀏覽:298
頁游腳本檢測 發布:2024-05-06 11:05:05 瀏覽:924
七七網源碼 發布:2024-05-06 10:27:36 瀏覽:295
shell輸入腳本 發布:2024-05-06 10:19:49 瀏覽:985
通達信自定義板塊在哪個文件夾 發布:2024-05-06 09:56:37 瀏覽:104
在linux搭建mqtt伺服器搭建 發布:2024-05-06 09:52:00 瀏覽:559
windowspython23 發布:2024-05-06 09:27:50 瀏覽:748
編程ug開初 發布:2024-05-06 09:27:48 瀏覽:561
小白源碼論壇 發布:2024-05-06 09:24:56 瀏覽:140