導航:首頁 > 源碼編譯 > 重新編譯實例

重新編譯實例

發布時間:2022-08-01 12:20:38

1. Qt 編譯問題 :-1: error: collect2: error: ld returned 1 exit status

程序重新編譯,看看進程管理器中是否有你運行的程序.有可能是程序已經運行了一個實例,無法刪除之前的那個,所以才這樣報錯.

2. C語言中條件編譯的實例

條件編譯命令最常見的形式為:
#ifdef 標識符
程序段1
#else
程序段2
#endif
它的作用是:當標識符已經被定義過(一般是用#define命令定義),則對程序段1進行編譯,否則編譯程序段2。
其中#else部分也可以沒有,即:
#ifdef
程序段1
#endif
這里的「程序段」可以是語句組,也可以是命令行。這種條件編譯可以提高C源程序的通用性。如果一個C源程序在不同計算機系統上系統上運行,而不同的計算機又有一定的差異。例如,我們有一個數據類型,在Windows平台中,應該使用long類型表示,而在其他平台應該使用float表示,這樣往往需要對源程序作必要的修改,這就降低了程序的通用性。

3. visual c++寫一個程序到另一台電腦上需要重新編譯

1.如何獲取應用程序的實例句柄?

應用程序的 實例句柄保存在CWinAppIm_hInstance 中,可以這么調用

AfxGetInstancdHandle獲得句柄.

Example: HANDLE hInstance=AfxGetInstanceHandle();

2.如何通過代碼獲得應用程序主窗口的指針?

主窗口的 指針保存在CWinThread::m_pMainWnd中,調用AfxGetMainWnd實現。

AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED); //使程序最大化.

3.如何在程序中獲得其他程序的圖標?

兩種方法:

(1) SDK函數SHGetFileInfo或使用ExtractIcon獲得圖標資源的 handle,

(2) SDK函數SHGetFileInfo獲得有關文件的 很多信息,如大小圖標,屬性,類型等.

Example(1):在程序窗口左上角顯示 NotePad圖標.

void CSampleView: OnDraw(CDC * pDC)

{

if( :: SHGetFileInfo(_T("c:\\pwin95\\notepad.exe"),0,

&stFileInfo,sizeof(stFileInfo),SHGFI_ICON))

{

pDC ->DrawIcon(10,10,stFileInfo.hIcon);

}

}

Example(2):同樣功能,Use ExtractIcon Function

void CSampleView:: OnDraw(CDC *pDC)

{

HICON hIcon=:: ExtractIcon(AfxGetInstanceHandle(),_T

("NotePad.exe"),0);

if (hIcon &&hIcon!=(HICON)-1)

pDC->DrawIcon(10,10,hIcon);

}

說明:獲得notepad.exe的路徑正規上來說用GetWindowsDirectory函數得到,如果是調用 win95下的畫筆,應該用訪問注冊表的方法獲得其路徑,要作成一個比較考究的程序,考慮應該全面點.

4.如何編程結束應用程序?如何編程式控制制windows的重新引導?

這是個很簡單又是編程中經常要遇到的問題.

第一問,向窗口發送WM_CLOSE消息,調用CWnd::OnClose成員函數.允許對用戶提示

是否保存修改過的數據.

Example: AfxGetMainWindow()->SendMessage(WM_CLOSE);

還可以創建一個自定義的函數Terminate Window

void Terminate Window(LPCSTR pCaption)

{

CWnd *pWnd=Cwnd::FindWindow(NULL,pCaption);

if (pWnd)

pWnd ->SendMessage(WM_CLOSE);

}

說明: FindWindow函數不是提倡的做法,因為它無法處理標題欄自動改變,比如我們要檢測 Notepad是不是已運行而事先不知道Notepad的標題欄,這時 FindWindow就無能為力了,可以通過枚舉windows任務列表的辦法來實現。 在 機械出版社"Windows 95 API開發人員指南"一書有比較詳細的介紹,這里就不再多說樂。

第二問,Use ExitWindowsEx Function函數控制系統是重新引導,還是重啟 windows.前面已經有人講過樂,就不再提了。

5.怎樣加栽其他的應用程序?

我記得這好象是出場頻度很高的問題。

三個SDK函數winexec, shellexecute,createprocess可以使用。

WinExec最簡單,兩個參數,前一個指定路徑,後一個指定顯示方式.後一個參數值得說一下,比如泥用SW_SHOWMAXMIZED方式去加栽一個無最大化按鈕的 程序,呵呵就是Neterm,calc等等,就不會出現正常的 窗體,但是已經被加到任務列表裡了。ShellExecute較 WinExex靈活一點,可以指定工作目錄,下面的Example就是直接打開 c:\temp\1.txt,而不用加栽與txt文件關聯的應用程序,很多安裝程序完成後都會打開一個窗口,來顯示Readme or Faq,偶猜就是這么作的啦.

ShellExecute(NULL,NULL,_T("1.txt"),NULL,_T("c:\\temp"),SW_SHOWMAXMIZED);

CreateProcess最復雜,一共有十個參數,不過大部分都可以用NULL代替,它可以指定進程的安全屬性,繼承信息,類的優先順序等等.來看個很簡單的Example:

STARTUPINFO stinfo; //啟動窗口的信息

PROCESSINFO procinfo; //進程的信息

CreateProcess(NULL,_T("notepad.exe"),NULL,NULL.FALSE, NORMAL_PRIORITY_

CLASS,NULL,NULL, &stinfo,&procinfo);

6.確定應用程序的路徑

前些天好象有人問過這個問題.

Use GetMoleFileName獲得應用程序的路徑,然後去掉可執行文件名。

Example:

TCHAR exeFullPath[MAX_PATH]; // MAX_PATH在API中定義了吧,好象是128

GetMoleFileName(NULL,exeFullPath,MAX_PATH)

7.獲得各種目錄信息

Windows目錄: Use "GetWindowsDirectory「

Windows下的system目錄: Use "GetSystemDirectory"

temp目錄: Use "GetTempPath "

當前目錄: Use "GetCurrentDirectory"

請注意前兩個函數的第一個參數為 目錄變數名,後一個為緩沖區;後兩個相反.

8.如何自定義消息

也有人問過的,其實不難。

(1)手工定義消息,可以這么寫 #define WM_MY_MESSAGE(WM_USER+100),

MS推薦的至少是WM_USER+100;

(2)寫消息處理函數,用WPARAM,LPARAM返回LRESULT.

LRESULT CMainFrame::OnMyMessage(WPARAM wparam,LPARAM lParam)

{

//加入你的處理函數

}

(3)在類的AFX_MSG處進行聲明,也就是常說的"宏映射"

4. 能不能舉個簡單例子說下編譯的過程

使用工具編譯的過程吧?用個C語言的例子吧:
首先,預編譯,對源代碼的宏進行替換,生成中間文件(文本,默認不保留)。
再是,翻譯為匯編代碼(文本,默認不保留)。
然後,由匯編器生成二進制文件(.obj)。
最後,連接為可執行文件。
因為前兩步一般不保留中間文件,所以你看到的是編譯器「直接」編譯成了.obj文件。

5. java的一個實例怎麼樣才能編譯成功

給你修改了一下。
public class Hello {
public String personName;

public void Hello() {
};

public String readname() {
int ch;
String name = "";
boolean ok = false;
System.out.println("Flease enter your name:");
while (!ok) {
try {
// 從屏幕上讀取一個位元組的信息
ch = System.in.read();
if (ch < 0 || (char) ch == '\n')
ok = true;
else if ((char) ch != '\r')
name = name + (char) ch;
} catch (IOException e) {
ok = true;

}
;
}
;
personName = name;
return name;
};

public static void main(String[] args) {
String name;
// 生成一個人Hello類的實例
Hello myfirst = new Hello();
// 從屏幕上讀取一行信息直到鍵入回車鍵為止
name = myfirst.readname();
System.out.println("Welcome to the java World," + name + ".");
System.out.println("And may you success.");
};
};

6. 如何重編譯ORACLE資料庫的無效對象

一些ORACLE中的進程被殺掉後,狀態被置為"killed",但是鎖定的資源很長時間不釋放,有時實在沒法,只好重啟資料庫。現在提供一種方法解決這種問題,那就是在ORACLE中殺不掉的,在OS一級再殺。1.下面的語句用來查詢哪些對象被鎖:selectobject_name,machine,s.sid,s.serial#fromv$locked_objectl,dba_objectso,v$sessionswherel.object_id=o.object_idandl.session_id=s.sid;2.下面的語句用來殺死一個進程:altersystemkillsession'24,111';(其中24,111分別是上面查詢出的sid,serial#)【注】以上兩步,可以通過Oracle的管理控制台來執行。3.如果利用上面的命令殺死一個進程後,進程狀態被置為"killed",但是鎖定的資源很長時間沒有被釋放,那麼可以在os一級再殺死相應的進程(線程),首先執行下面的語句獲得進程(線程)號:selectspid,osuser,s.programfromv$sessions,v$processpwheres.paddr=p.addrands.sid=24(24是上面的sid)4.在OS上殺死這個進程(線程):1)在unix上,用root身份執行命令:#kill-912345(即第3步查詢出的spid)2)在windows(unix也適用)用orakill殺死線程,orakill是oracle提供的一個可執行命令,語法為:orakillsidthread其中:sid:表示要殺死的進程屬於的實例名thread:是要殺掉的線程號,即第3步查詢出的spid。例:c:>orakillorcl12345

7. linux下怎麼使用notepad++重編譯有用嗎

的時候超級慢,怎麼辦?
因為WIN2K啟動時要去找你安裝RF有分區,但2K訪問不了,所以導致2K啟動速度巨慢。

方法1:
讓win2000能夠識別ext2分區就行了,可以用PQMAGIC將LINUX分區重新變為FAT類型,重新啟動,注意不要格式化。這種方法比較冒風險,

方法2:
這需要ext2 for windows 的驅動ext2.sys,這個文件可以從ext2fsnt(Ext2 for NT4 read-write)里找到。
安裝:
(1). ext2.sys %systemroot%\system32\drivers\
(%systemroot%是指系統目錄)
(2).導入以下注冊表文件:
REGEDIT 4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ext2]
"ErrorControl"=dword:00000001
"Type"=dword:00000002
"Start"=dword:00000001
"Group"="File system"

然後重啟就可以了。

方法3:
用這個方法解決比較方便:
1、到這里下載extifs-0.2.zip
2、解壓後運行service.exe進行簡單設定。OK

103、RF4.0如何關閉紅旗多餘的服務?
方法1:打開終端,執行ntsysv,選取服務。
方法2:打開終端,執行setup,選取服務。

104、滑鼠是帶滾輪的,在RF4.0控制面板的滑鼠里的PS/2滾輪前打勾,按提示重啟,但還是不行。如何解決?
方法1:可以選擇:MicroSoft Intelligent Mouse也就是所謂的IMPS/2
方法2:
修改/etc/X11/XF86Config-4
找到有
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
這樣的一個「Section」,把這個Section全部替換成一下的:
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "rotocol" "IMPS/2"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "no"
EndSection

105、紅旗Linux4.0桌面版已經支持多媒體健盤了,設置靈活。可以很方便的播放、停止歌曲和影片。

106、為什麼不能進行版本注冊?反饋的信息總是版本號不對。我的版本號沒錯。
把您的注冊信息發到[email protected],由我們為您注冊。

107、請問怎樣在Linux中直接使用.ISO文件?
#mount -t iso9660 -o loop xxxx.iso /mnt/cdrom

108、紅旗linux桌面板4.0帶不帶gcc?
帶的,你安裝紅旗時要選擇完全安裝,帶開發工具的選項。
如果選擇典型安裝,不用重裝系統,可以從控制面版里添加(安裝盤里包含有gcc)。

109、為什麼RF4.0隻能由root 登錄啊?
紅旗4.0除了root沒有預制用戶,但可以方便的添加用戶。
方法1:控制面板->;用戶管理器->;添加用戶
方法2:用adser或useradd之類的命令添加

110、請問rf4 如何在控制台下配置X?
方法1:xfree86cfg -textmode
方法2:setup

111、如何添加windows共享列印機?
控制面板->;列印管理器->;添加一台列印機->;添加向導的第二個界面中選擇smb共享列印機,然後按照向導的要求去做就可以了。

112、紅旗桌面版4.0最簡便的硬碟安裝方法。
(1)將紅旗4.0桌面版的iso文件下載到硬碟後(要放在fat16/32或ext2/3分區,安裝程序不支持ntfs分區)
(2)用winrar或類似軟體將dosutils目錄解壓縮到一個分區(必須是fat16/32,因為要在dos下用),注意:只要解壓縮dosutils目錄,不要全部解壓縮,一定保持原來的iso文件沒有被重寫或刪除。
(3)重新啟動計算機或用Win98光碟啟動計算機到純dos模式(不是Windows中的窗口DOS)
(4)進入dosutils目錄,執行autoboot.bat即可開始安裝程序。
(5)在選擇映象文件時,先選擇盤符,一般hda1對應c:,hda5對應d:,hda6對應e:,依次類推。如果映象文件不在根目錄下,還需要輸入路徑,在輸入路徑時,分隔符要使用/,而不是\(如download/redflag/),如果一切順利的話就應該進入圖形安裝界面了。

有時可能會出現磁碟映象錯誤的提示(不能確定這是Redflag的Bug還是其他的原因)
解決方法如下:
將autoboot目錄下的vmlinuz和initrd.img文件復制到dosutils目錄下,在dos下不要執行autoboot,輸入以下命令:loadlin vmlinuz ramdisk_size=XXXXX initrd=initrd.img

其中XXXXX為內存大小,計算方法為Mb*1024,如64Mb內存應輸入65536(64*1024),128Mb則為131072,以此類推。(不能確定ramdisk_size=xxxxx參數是否必須)
113、掛載上軟碟機時,普通用戶不能格式化軟盤,怎麼辦?
(1)卸載掛載的文件:
我的電腦->;工具->;運行命令,鍵入
umount /mnt/floppy
(2)選擇格式化工具,格式化。

114、紅旗桌面版4.0下拷貝文件的速度飛快,但是普通用戶往Win分區拷貝或移動數據時會提示無法改變文件的許可權,不過並不影響使用。

115、紅旗桌面版4.0文件管理器konqueror功能強大,可以顯示Windows分區的隱藏目錄和文件。預鑒文件時可創建多視圖(狀態欄右擊滑鼠),可以垂直或水平劃分視圖,方便文件管理。

116、紅旗桌面版4.0支持ext3文件系統,該文件系統單個文件最大1T,不支持如此大的文件不是系統的問題而是你程序的問題,例如像apache的日誌文件和oracle817的dbf文件必須小於2G,這是應用程序本身的限制。

117、放轉置在桌面上的文件,如果擴展名已設置關聯的,當滑鼠指針指向該文件時,系統出現一個黃框能夠自動預覽首頁。例如:擴展名為.txt的文件,當滑鼠指針指向.txt的文件時,會出現該文件的第一頁預覽,不過預覽只能顯示英文和數學,漢字無法正確顯示。但擴展名為.htm和html文件桌面指向預覽時漢字能夠正確顯示。

118、紅旗4.0下文本編輯器Kedit功能比Windows下的notepad要強,例如:替換功能,列印預覽(列印時選預覽),清除空格,跳至行等。
但也有嚴重缺陷:Linux下的文本編輯器編寫的文件回車換行代碼是0x0a、0x0a,而Windows下文本文件的回車換行代碼是0x0d,0x0a,這會造成用Windows notepad編輯的文本文件Linux下能夠正確顯示,而用Linux下文本編輯器Kedit編輯的文件在Windows下用notepad打開時會顯示亂碼。
解決辦法是:Windows用戶可以用CCED或CCED2000軟體(可以到下載試用版)打開Linux下編輯的文本文件,然後另存為純文本文件,就能解決自動回車換行問題。
另外:
(1)在紅旗4.0下文本編輯器Kedit與應用軟體(例如RedOffice1.2.9)之間無法交換中文數據,復制粘貼上的漢字顯示為亂碼。
(2)4.0下的文本編輯器Kedit默認是編輯存檔產生備盤文件(同名,擴展名為.txt~),可以設置->;配置Kedit->;其它->;去掉"當保存文件時生成原來的備份"前的對號。

119、紅旗桌面版4.0下如何輸入GB-2312字元集1-9區的各種符號(例如省略號的輸入方法)?
紅旗下有智能ABC輸入法,在智能ABC標准狀態下,按字母 v+數字(1-9),即可獲得該區的符號(例如鍵入v1+3可以得到…),這樣所有的標點符號問題得以解決。

120、全拼下,如何輸入中文標點?
(1)滑鼠操作:滑鼠左鍵單擊輸入法狀態窗口中的中英文標點切換按鈕。
(2)鍵盤操作:鍵盤 Ctrl +.(句號)鍵切換中英文標點,鍵盤 Ctrl +,(逗號)鍵切換全形。
鍵位表
(1)在英文標點狀態下,所有標點與鍵盤一一對應。
(2)在中文標點狀態下,中文標點符號與鍵盤的對照關系如下:
⒈句號。→. ⒉逗號,→, ⒊分號;→; ⒋冒號:→: ⒌問號?→? ⒍嘆號!→! ⒎雙引「」→"
⒏單引『』→' ⒐左括弧(→( ⒑□右括弧)→) ⒒單雙書名號《〈→< ⒓單雙書名號〉》 →>; ⒔頓號、→\

121、怎樣完全禁止使用Ctrl-Alt-Delete?
Linux系統用/etc/inittab文件來控制系統對同時按下Ctrl-Alt-Delete時是reboot還是shutdown。系統中這個文件原來是:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
只要在前面加上一個注釋符「#」就可以禁止用這三個組合鍵了。
此外,我們也可以定製某些非root用戶擁有在console前按Ctrl-Alt-Delete來關閉系統的權利。步驟如下:
(1) 在上面配置中加-a標記。例如:
ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now
-a標記通知shutdown程序查看/etc/shutdown.allow文件,這個文件將在下面創建
(2)在/etc/目錄下創建shutdown.allow文件,這個文件中列出允許通過按下Ctrl-Alt-Delete組合按鈕來關閉系統的用戶名。
Shotdown.allow文件的格式是每行一個用戶:
cai
linuxer
hello
對於上面的這個例子,系統將允許用戶cai、linuxer和hello在console前通過按下Ctrl-Alt-Delete來關閉系統。當有用戶使用組合鍵Ctrl-Alt-Delete時,shutdown 將檢查/etc/shutdown.allow中的用戶(或者root)是否當前通過虛擬終端登錄,如果其中有任何一個處於登錄狀態的話,shutdown將繼續否則將返回錯誤信息:
no authorized users logged in

122、如何實現Linux下的批處理命令?
shell編程。例如:建立一個文本文件,文件名test,編輯代碼如下:
#!/bin/bash
bar=hello
echo $bar

保存後執行:
chmod +x test
./test

123、改變文件的許可權只有root用戶才擁有,所以普通用戶無法編輯(再編輯後保存)Windows下的只讀文件,只有登錄到root用戶後修改其許可權才能寫入(root身份下,選中文件後右鍵「屬性」許可權標簽選取寫入)。無root許可權時可以通過復制粘貼方法取出有用的數據。

124、桌面窗口菜單不一致:有時是文件->;退出,有時是位置->;退出,剛開始不上手,用久了就習慣了(好在快捷鍵都為Ctrl+Q和Alt+F4)。

125、紅旗桌面版4.0也有桌面百變工具。
方法1:在桌面空白處右擊,選擇背景->;牆紙標簽->;多幅牆紙->;設置多幅->;選擇圖片文件、設置好時間間隔和模式,確定即可。
方法2:控制面板->;感觀配置->;背景->;牆紙標簽->;多幅牆紙->;設置多幅->;選擇圖片文件、設置好時間間隔和模式,確定即可。

126、Linux下碼表的編碼規則如何?
紅旗桌面版4.0下編譯後的碼表文件擴展名為*.db(碼表文件*.db文件的位置/usr/local/rfinput/data/)。
而Windows的輸入法為編譯後的輸入法的擴展名為*.ime(碼表文件位置\windows\system\)。

(1)Linux下,逆轉換碼表文件。
系統->;控制面板->;輸入法管理器->;選中「逆轉換」,將碼表文件*.db文件轉換為文本文件,

[Description]
MaxCodes = 4
Name = 五筆
UsedCodes = abcdefghijklmnopqrstuvwxy
WildChar = z

[Rule]
ce2=p11+p12+p21+p22
ce3=p11+p21+p31+p32
ca4=p11+p21+p31+n11

[Text]
工a
式aa
工aaaa
工期aaad
葡萄牙aaah
工藝aaan
工區aaaq
勞苦功高aaay
醫葯衛生aabt
戒除aabw
式aad

……(略)

應該說yyyu
議論yyyw
言論yyyw
言yyyy
言yyyy

(2)Windows下,用「輸入法生成器」選「逆轉換」逆轉換碼表文件。

[Description]
Name=UCDOS五筆_GB
MaxCodes=4
MaxElement=2
UsedCodes=abcdefghijklmnopqrstuvwxy
WildChar=z
NumRules=3

[Rule]
ce2=p11+p12+p21+p22
ce3=p11+p21+p31+p32
ca4=p11+p21+p31+n11

[Text]
工a
式aa
工aaaa
恭恭敬敬aaaa
工藝aaan
工區aaaq
戒除aabw
式aad

……(略)

認識論yyyw
言論yyyw
議論yyyw
言yyyy
方言yyyy

說明:Linux下與Windows下的編碼規則一致,但Linux的逆轉換有一個bug:最後一個字重復。

127、下面是把UCDOS下的五筆輸入法轉換成紅旗桌面版4.0下的輸入法格式的FoxPro2.5源程序

*程序名:uc2rf.prg
*
* 1、先用imdmng drv\wb.imd wb.txt 編譯出UCDOS下的碼表
* 2、把UCDOS下的五筆轉換為RF4.0下的五筆輸入法,
* 3、然後在Linux4.0下用輸入法管理器編譯安裝rf.txt即可。
*
* 創佳&聯創電腦培訓中心 版權共享
*
*

set talk off
set safe off

wait wind '正在建立資料庫...' nowait
create dbf wb (bm C(12),hz C(24))
appe from c:\ucdos\wb.txt sdf
index on bm to bm
go top

namef='c:\ucdos\rf.txt' &&改成實際目錄
hand=fcreate(namef)
crlf=chr(13)+chr(10)
=fwrite(hand,'[Description]'+crlf)
=fwrite(hand,'Name=UCDOS五筆_GB'+crlf)
=fwrite(hand,'MaxCodes=4'+crlf)
=fwrite(hand,'MaxElement=2'+crlf)
=fwrite(hand,'UsedCodes=abcdefghijklmnopqrstuvwxy'+crlf)
=fwrite(hand,'WildChar=z'+crlf)
=fwrite(hand,'NumRules=3'+crlf)
=fwrite(hand,'[Rule]'+crlf)
=fwrite(hand,'ca4=p11+p21+p31+n11'+crlf)
=fwrite(hand,'ce2=p11+p12+p21+p22'+crlf)
=fwrite(hand,'ce3=p11+p21+p31+p32'+crlf)
=fwrite(hand,'[Text]'+crlf)

i=0
do while .not. eof()
hzl=alltrim(hz+' ')
do while at(' ',hzl)<>;1
kg=at(' ',hzl)
if kg>;1
=fwrite(hand,left(hzl,kg-1)+alltrim(bm)+crlf)
endif
hzl=alltrim(subs(hzl,kg+1))+' '
i=i+1
wait wind '正在建立數據'+str(i,5) nowait
enddo
skip
enddo
use
wait clear
=fclose(hand)
return
128、紅旗桌面版的系統主要參數。
摘自《Red Flag Linux Desktop 4.0發行概述》。
產品英文名稱:Red Flag Linux Desktop
產品中文名稱:紅旗Linux桌面版
版本號:4.0
Codename:HOT

系統組件 版本號
Kernel 2.4.20-8
Xfree86 4.3.0
KDE 3.1.0
Glibc 2.3-3
Gcc 3.2-9
Gtk+ 1.2.10
Gtk2 2.2.1
Mozilla 1.3-9
Python2 2.2.1
perl 5.8.0
Qt 3.1.1

129、 輸入法管理器關於詞庫文件和構詞規則的說明
摘自《Red Flag Linux Desktop 4.0使用手冊》。

(1)詞庫文件格式

詞庫文件是創建一個新輸入法必需的碼表源文件。它的基本格式為:
[Description](可選) //輸入法描述信息段標志
MaxCodes= //最大碼長
Name= //輸入法名稱
UsedCodes= //碼元集
WildChar= //查詢鍵
[Rule](可選) //構詞規則信息段標志
ce2=p10+p20
ce3=p10+p20+p30
ca4=p10+p20+p30+n10
[Text](必需) //編碼信息段標志
啊 a
阿 a
.......

其中各段的含義如下:
[Description] 包含輸入法描述信息,是可選的。
[Rule] 包含該輸入法構詞規則公式,是可選的。
[Text] 它必須包含由若干行漢字-編碼對組成的碼表(編碼-漢字對也可),並以 [Text] 欄位開始,每行為一個編碼對,漢字與編碼之間可以空格分開,也可以連續書寫。

下面是一個碼表實例:
[Description]
Name=鄭碼
MaxCodes=4
MaxElement=2
UsedCodes=abcdefghijklmnopqrstuvwxyz
WildChar=?
NumRules=3
[Rule]
ce2=p11+p12+p21+p22
ce3=p11+p21+p32+p31
ca4=p11+p21+p31+p41
[Text]
一 aav
一下 aa
可歌可泣 aaav
無可奉告 aacm

(2)構詞規則
用於定義目標輸入法的構詞規則(即採用什麼方式組成該輸入法中的片語編碼),這是
由若干構詞規則表達式組成的,下面給出構詞規則表達式的定義:
c[邏輯符][詞語長度] = }}
說明:
構詞標識 c
邏輯符 e:等於 a:大於等於
詞語長度 用數字表示,范圍 1~9
序號標識 p 表示正序,n 表示逆序
漢字序號 用數字表示,范圍 1~9
取碼序號 該字編碼序號,0 表示選擇全部編碼
實例:
ce2=p11+p12+p21+p22 表示二字詞,取第一字的第一、二碼,第二字的第一、二碼
ce2=cp10+cp20 表示二字詞,取第一字的所有碼和第二字的所有碼
ca4=p11+p21+p31+n11 表示四字以及四字以上的詞,取第一字的第一碼,第二字的第一碼,第三字的第一碼,和倒數第一字的第一碼

130、Red Flag Linux Desktop 4.0 默認自動啟動圖形化的登錄界面,如何使用傳統的文本登錄方式?
可以通過編輯 /etc/inittab 文件的方法,即將其中如下所示的一行:
id:5:initdefault:
改為:
id:3:initdefault:

它將默認運行級別設置為 3,即文本登錄方式。

131、我想更改啟動畫面!
替換/boot/grub/splash.xpm.gz中的圖片。

132、如何在命令方式下顯示漢字?
安裝炎黃中文平台或zhcon。

133、在紅旗linnx里如何實現sygate的NAT功能?
解決方法:
(1)將/etc/sysctl.conf文件中的
net.ipv4.ip_forward=0,改成
net.ipv4.ip_forward=1。

*這一步也可以在控制面板->;網路->;高級網關設置,選取「允許啟用IP轉發功能」來完成。
(2)在終端提示符下執行如下命令
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

*如果沒有找到iptables服務,是在安裝linux沒選擇完全安裝,只要把iptables裝上就行了。它的RPM包就在紅旗linux光碟的\redflag\RPMS目錄里。:iptable-1.2.7.a-3.i386.rpm.
(3)在終端提示符下執行如下命令:
iptables-save >; /etc/sysconfig/iptables

*注eth1是接入Internet的設備。(eth0,eth1,ppp0等)根據你的情況設定。
(4)在終端提示符下執行如下命令
ntsysv
並在選定iptables服務,重啟linux。
(5)把客戶機的網關設成本機的IP,DNS伺服器設置成當地的DNS伺服器IP。

*如果不知道DNS伺服器的IP地址,可以在Windows的DOS窗口裡執行 ipconfig/all你就可以看到 有2個DNS伺服器的IP。

*如果再不行,就在網路的高級設置里頭設置一個路由,可參照光碟manual的ch3.pdf的7,8兩頁。

134、怎麼收發郵件?
用kmail。

135、任務欄上調音量的小喇叭只在root登錄時出現,普通用戶在控制面板中雙擊"音量"才出來.重新啟動後,一般用戶登錄後還是沒有小喇叭,不過播放音樂沒問題。這是一個bug。在命令行輸入kmix也啟動混響器。

136、一份紅旗4.0發行版是否允許安裝於一台以上的電腦?
關於紅旗Linux產品使用許可權的解釋:
對於紅旗軟體公司通過不同形式(例如網站下載、介質分發等)提供自由下載的產品(例如紅旗Linux桌面版),用戶可以依照 GNU GPL(GNU General Public License)規則進行諸如復制、修改、分發,包括其他用途的安裝使用等。
對於紅旗軟體公司不提供自由下載的產品(例如紅旗應用伺服器系列),由於其包含了相當一部分非基於GNU GPL規則的軟體/程序以及第三方合作商業軟體,紅旗軟體公司無權將此類軟體/程序授權給他人任意使用(包括但不限於復制、修改、分發等),且此類軟體/程序的源代碼也不做公開。所以,用戶在使用相應產品時不能進行任意的復制、修改和分發等,也不能在多台機器上同時安裝/使用同一套產品。

137、如何刪除紅旗啊?
fdisk/mbr
或者
分區並格式化。

138、無法在Mozilla中輸入中文及輸入法切換,為什麼?
這是紅旗的一個bug,重啟一下mozilla就好了。
解決辦法:
(1)刷幾次屏就好了;
(2)不斷按那後退、前進鍵,過一會就好了;
(3)新開一個窗口就解決了。

139、請問RF4.0對Kdevelop創建Project的時候不能編譯有什麼解決辦法?
需要先automake和autoconfig一下,該選項在建立菜單中。重新運行一下kdevelop setup
解決方法是:
(1)安裝新的qt-3.1.1-10.i386.rpm包。
(2)安裝patch4kdevelop-dt4-1.0-1.i386.rpm包。
(3)在編譯之前先選「建立」菜單裡面的「autoconf和 automake」,再選「配置」,參數沒有,然後再編譯就可以了。
下載:

140、文本編輯器和redoffice編輯的文本windows下空格和換行都變成黑色方格,為什麼?
因為純文本文件中windows和unix中的「換行」的編碼不同啊,一個是\n\r,一個是\r。

141、apache2.0 如何支持中文?
在httpd.conf中找相關的項,改為:
AddDefaultCharset GB2312;
AddCharset GB2312 .gb2312 .gb 。

142、滑鼠滾輪在紅旗桌面4.0中和Windows一樣好用,按滾輪可以上下滾動,按下Ctrl鍵的同時按滾輪可以上下快速滾動,按Alt鍵的同時按滾輪可以左右滾動,按下Ctrl-Alt的同時按滾輪可以左右快速滾動窗口內容。

143、啟動後出現的「日積月累」(技巧小提示)窗口怎樣打開?
開始->;運行命令->;鍵入:ktip,選擇「運行」即可打開。

144、「日積月累」技巧精選:
(1)用滑鼠左鍵點擊最大小按鈕,全屏幕窗口;用滑鼠中鍵點擊最大小按鈕,僅在垂直方向最大化窗口;用滑鼠右鍵點擊最大小按鈕,僅在水平方向最大化窗口;

(2)即使您無法觸及標題欄,您仍然可以按住 Alt 鍵, 然後滑鼠點擊窗口中的任何地方並拖動它, 就可以在屏幕上移動窗口。當然,您可以用控制中心改變這一行為。

(3)您知道您可以用滑鼠中鍵來粘貼文本嗎?試試先用滑鼠左鍵選擇一段文本,然後在別的地方點擊滑鼠中鍵。被選擇的文字就會粘到點擊的地方。甚至在不同的程序之間這也能工作

(4)您可能會覺得奇怪,Unix 系統中很少(假如有的話)文件的名字是以 .exe 或者 .bat 結尾的。 這是因為在 Unix 中文件的擴展名並不是必須的。 可執行文件在 KDE 中以齒輪圖標來代表, 在 Konsole 窗口中,它們通常以紅色顯示 (視您的系統設置而定)。

(5)如果您需要計算屏幕上的距離,那麼一個叫 kruler 的程序將很有用(開始->;運行命令->;鍵入:kruler,選擇「運行」即可打開)。

(6)您可以快速移動面板到另一屏幕邊緣,只要用滑鼠左鍵「抓住」它, 然後把它移動到您想放置的位置。

(7)只要把一幅圖片從 Konqueror 窗口拖到桌面背景中, 您就可以快速改變桌面的背景圖像。只要把一種顏色從任意應用程序拖到桌面背景中, 您就可以改變桌面的背景顏色。

(只要您知道程序的名字,您就可以按 Alt+F2 然後在命令行窗口中輸入它來運行任何程序。您只要按 Alt+F2 然後在命令行窗口中輸入 URL, 就可以瀏覽任何 URL。

(9)您可以按住 Alt 鍵,然後滑鼠右點窗口中的任何地方並拖動它, 來改變窗口的大小。

(10)KDE 的郵件客戶程序(KMail)為加密和簽署您的 電子郵件信息提供無縫的 PGP/GnuPG 集成

(11)您可以讓 KDE 啟動時打開或關閉 NumLock。 打開「控制中心->;外設->;鍵盤->;高級」進行選擇。

(12)您可以點擊面板上的桌面圖標來立刻最小化桌面上的所有窗口並顯示桌面。

145、.tar,.tar.gz,.bz2,.tar.bz2,.bz,.gz是什麼文件,如何解開他們?
它們都是文件(壓縮)包。
.tar:把文件打包,不壓縮:tar cvf *.tar dirName 解開:tar xvf *.tar
.tar.gz:把文件打包並壓縮:tar czvf *.tar.gz dirName 解開:tar xzvf *.tar.gz
.bz2:解開:bzip2 -d *.bz2
.bz:解開:bzip -d *.bz
.gz:解開:gzip -d *.gz

146、紅旗桌面版4.0下root密碼丟失如何解決?
在引導裝載程序菜單GRUB上,鍵入e來進入編輯模式。
進入引導項目列表,選擇第三項Red Flag Linux(Console Mode),查找其中類似以下輸出的句行:
kernel /vmlinuz-2.4.20-8 root=/dev/hda5 acpi=off 3 hdd=ide-scsi
按箭頭鍵直到這一行被突出顯示,然後按 e 鍵。
在文本結尾處空一格再添加 single 來告訴 GRUB 引導單用戶 Linux 模式。按回車鍵使編輯結果生效。
進入編輯模式屏幕後,按 b 鍵, GRUB 就會引導單用戶 Linux 模式。 結束載入後,會出現 shell 提示:
sh-2.05b#
現在,便可以改變根用戶口令,鍵入:
sh-2.05b# passwd root
會被要求重新鍵入口令來校驗。結束後,口令就會被改變(當然在這里也可以更改任何用戶的口令,鍵入:passwd 用戶名)。然後可以在提示下鍵入 reboot 來重新引導(或exit繼續向下引導);最後,象平常一樣登錄為根用戶(重啟後加入的single不會被保存)。

147、多媒體播放器Kxine Media player也能播放mp3文件,並且支持隊列(列表)。

148、往軟碟機中拷貝文件,如果裡面有同名的文件,會出現一個對話框「File exist」(文件存在),內容為:File already exist,overwrite?(文件已經存在,是否覆蓋?),選擇「是」,拷貝速度會很慢。

149、紅旗桌面版4.0的文件與目錄:
與其它操作系統一樣,在Linux系統下用戶的數據和程序也是以文件的形式保存的。所以在使用Linux的過程中,是經常要對文件與目錄進行操作的。
(1)文件名與文件類型
文件名是一個文件的標識。文件名的規則與Windows下基本相同,它同樣是由字母、數字、下劃線、圓點組成,最大的長度是255個字元。
與Windows 9x一樣,Linux系統中也有普通文件和目錄文件,不過目錄文件在Window中被簡稱為目錄就是了。而在Linux系統中有一種特殊的文件,那就是設備文件。在Linux系統中,把每一個I/O設置都映射成為一個文件,可以象普通文件一樣處理,這就使得文件與設備的操作盡可能統一。從用戶的用戶來說,對I/O設備的使用和一般文件的使用幾乎一樣,這樣就可以不必了解I/O設備的細節。
(2)目錄結構
與Windows一樣,在Linux中也是通過目錄來組織文件的。不同的是,在Linux下只有一個根目錄,而不象Windows那樣一個分區一個根目錄。如果有多個分區的話,Linux下就需要將其它分區mount(安裝)到根目錄上來用。
安裝Linux時分區時的Mount Point,我們將其中一個寫成了"/",也就是根目錄(這點與Windows根目錄\相反)。其它的則可能是/home、/usr。
安裝完系統後,你會發現/home、/usr就是根目錄下面的home、usr目錄,不過,整個分區就用於該目錄了。

安裝完Linux後,有許許多多的目錄,下面我們就說明一些重要的目錄:
/bin:存放著100多個Linux下常用的命令、工具
/dev:存放著Linux下所有的設備文件
/ho

8. C#中元數據怎樣才能重新編譯

public partial class 商品的頁面: System.Web.UI.Page
{
List<string> list;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{

// 這里是瀏覽商品的頁面的Load
// 會話Session["track"]里邊記錄的是瀏覽過的東西,是個List,
// 如果商品名稱唯一,可以用List<string>,記錄商品的名稱.
// 也可以用數值List<int>記錄商品的ID,或者List<string>記錄商品的ID數字串
string str = "這是我現在瀏覽的商品名稱"; // 這里你要從資料庫獲取此商品的名稱或ID
List<string> list;
if (Session["track"] == null)
{
// 新會話(第一次或以前的超時),創建新list的實例.
// 在配置文件中,<sessionState timeout="30" 設置超時數,這里是間隔30分鍾不訪問,會話丟失.
list = new List<string>();
}
else
{
// 會話存在,准備讀取會話中的數據.
list = (List<string>)Session["track"];
}

if (list.Contains(str))
list.Remove(str); // 如果這次瀏覽的商品在瀏覽記錄中,刪除後重新添加進去,保持瀏覽順序
if (list.Count == 10)
list.RemoveAt(0); // 瀏覽記錄保存10個,到了10個刪除最老的一個記錄.
list.Add(str); // 瀏覽順序為list[9] list[8].....list[1] list[0]
Session["track"] = list; // 把list更新到Session

///////////////////////////////////////////////////////////////
for (int i = list.Count - 1; i >= 0; i--)
{
string name = list[i];
// 在這里處理瀏覽記錄,倒著讀list,然後轉成超鏈接,你也可以顯示出這個物品的圖片信息等,顯示到網頁中.

}
this.list = list;// 或者,你把list值保存到頁面類的自定義屬性里邊,在其它地方處理.
}

.
.
.
.
.
.

}

默認情況下,session是作為cookie方式保存的.
<sessionState mode="[Off|InProc|StateServer|SQLServer|Custom]"

InProc 模式(默認),此模式將會話狀態存儲在 Web 伺服器上的內存中。 這是默認值。關了瀏覽器就丟失了

StateServer 模式,此模式將會話狀態存儲在一個名為 ASP.NET 狀態服務的單獨進程中。 這確保了在重新啟動 Web 應用程序時會保留會話狀態,並讓會話狀態可用於網路場中的多個 Web 伺服器。

SQLServer 模式將會話狀態存儲到一個 SQL Server 資料庫中。 這確保了在重新啟動 Web 應用程序時會保留會話狀態,並讓會話狀態可用於網路場中的多個 Web 伺服器。

Custom 模式,此模式允許您指定自定義存儲提供程序。

如果你想要記錄在客戶端在關閉瀏覽器或以後上線還可存在,就要用StateServer和SQLServer模式.前者需要伺服器啟動狀態服務(安裝.net時帶的一個組件),後者要求你的網站的資料庫是asp.net自己配置的那個ASPNETDB.MDF文件.

使用cookie方法也差不多,cookie只能保存單個字元串,不能做為list保存,還有,需要自己手動管理超時時間.
另外,cookie是從Request.Cookies讀取數據,從Response.Cookies保存數據.

把if (Session["track"] == null)
換成if (Request.Cookies["track"] == null)

把list = (List<string>)Session["track"];
換成list = new List<string>();
list.Add( Request.Cookies["track"]["0"]);
.......
list.Add( Request.Cookies["track"]["9"]);
還要判斷Request.Cookies["track"]["0"] 到["9"] != null;

把Session["track"] = list;
換成Request.Cookies["track"]["0"] = list[0];
.........
Request.Cookies["track"]["9"] = list[9];
緊接著要Request.Cookies["track"]"].Expires = DateTime.Now.AddDays(50); //保存50天,可以直接設置時間用秒或50年.

麻煩,但好處是不要求資料庫,不要狀態服務,就可以保存數據50年.

9. 重新打開一前編譯的文件,就不能再編譯了,出現這個錯誤,怎麼整啊,跪求大佬解救

可能的原因及解決辦法:
1.
已有一個本程序的實例在運行了。只需先關閉運行的實例再編譯就行了。
2.
因代碼中使用了未定義的變數或函數,導致發生了鏈接錯誤。加上變數或函數的定義就行了。

10. 能否想編譯後的類中添加實例變數,能否像運

不能。
添加後請重新編譯,否則無效。

閱讀全文

與重新編譯實例相關的資料

熱點內容
平面編程和切削 瀏覽:704
phpemoji表情符號 瀏覽:778
IBM雲平台shor演算法 瀏覽:576
程序員當乙方 瀏覽:519
php商城設計與實現的 瀏覽:305
php自動列印 瀏覽:469
哪個app多年輕人 瀏覽:902
租的伺服器如何重裝 瀏覽:937
乾眼症程序員 瀏覽:239
樂動達人安卓版有什麼游戲 瀏覽:484
c523壓縮比 瀏覽:543
命令語氣的人什麼心態 瀏覽:435
程序員喜歡留指甲嗎 瀏覽:516
七牛雲伺服器收費標准 瀏覽:627
時光相冊加密空間密碼忘記 瀏覽:474
華為雲為用戶提供的服務雲伺服器 瀏覽:634
minecraftlinux伺服器搭建 瀏覽:376
linux命令新建文件 瀏覽:709
長線pdf 瀏覽:607
程序員電腦支持手寫 瀏覽:415