導航:首頁 > 源碼編譯 > qt實現解壓縮演算法程序

qt實現解壓縮演算法程序

發布時間:2022-12-10 21:06:07

Ⅰ 哪位高手告訴我qt+ace 開發跨平台程序,windows 與linux下需要安裝些哪些東東能否介紹下相關的一些經驗

ACE全稱adaptive communication enviroment,是一套C++的通信庫。它提供了socket/threading/memory management等多種系統調用的面對對象的wrapper,使C++通信軟體開發更加簡單。

ACE最帥的特點:跨平台!!!!!!ACE屏蔽了底層平台特定的語義,使用ACE編寫的C++程序,可以在linux/windows/HP-Unix下編譯執行,而且效率很高。曾經做過的一個VOIP項目就是用ACE寫的,那個項目的技術相當復雜,需要用到socket/multi-threading等很多與操作系統聯系緊密的技術,但用了ACE(界面用Qt)後,那個項目源碼可以直接在linux和windows下編譯運行,呵呵,還是相當成功的。項目進行中感到ACE相當成熟,舉一個朋友說Siemens的某些大型工程也是用的ACE。而且,ACE是免費開源的軟體包--不用白不用。

C++ Network Programming就是ACE項目的負責人Schmidt寫的,這位老哥以前是華盛頓大學的副教授,主要研究領域是軟體工程(他寫了不少關於pattern的文章和書),現在貓到UC Irvine去了,好象還是副教授(要這哥們在中國,早應該成教授了吧)。這兩本書主要介紹了ACE的使用,也涉及了部份設計方面的內容。第一卷主要介紹ACE的基本功能和使用,第二卷則偏重通訊軟體中的design pattern。搞通信軟體開發的兄弟們絕對應該看看此書。

另外也有人推薦把ACE作為學習C++的範例來學習,呵呵,這就是個人喜好的問題了...總的來說ACE的代碼風格還是很不錯的--比STL那些天書好看些,呵呵。

Q: 什麼是ACE或者ACE2插件?

A: 如果把普通的插件比作一棵棵互不關聯的小樹, 那麼ACE庫或者ACE2庫就是一棵大樹干,所有基於ACE的插件就是長在上面的樹枝. 共有的部分都被集成到一起,因此代碼非常短小和快速,而且穩定.ACE2是用來取代ACE的版本,雖然有一些插件還未能從ACE轉換到ACE2,但是ACE2系的插件現在可說代表了wow插件的最高水平.

ACE2是為其他倚賴ACE2才能運行的插件提供庫支持的一個庫文件,本身不具備任何功能。

如BigWigs[ACE2]就說明BigWigs這個插件需要ACE2的支持。

使用方法:解壓縮以後無論是ACE2還是!LIB都直接放入Interface\Addons裡面就可以了。

ACE 類插件因為短小精悍 面向對象 有越來越多的插件開始以其作為編寫庫

目前已經發展到 ACE2

ACE2運行庫開發組都是提倡直接內嵌的,完全沒有必要單獨提出來!沒錯如果你有10個內嵌了ACE2的插件,開始載入的時候確實會載入10個副本的ACE2導致Warmup顯示內存佔用偏大,但是在下次的碎片回收中,多餘的ACE2副本都會被清除,只留下一個駐留內存。如果有新舊多個版本,則會自動選擇最新的版本駐留。所以說,Warmup的數據,不能正確的反映出ACE2插件的實際內存使用。Warmup的作者本身也是ACE開發團隊的成員,現在由於Warmup導致的一些對ACE2的誤解,這傢伙想必也是哭笑不得了,呵。

作為ACE2插件的使用者,完全沒有需要去考慮運行庫的版本更新等等問題,這是ACE2標準的一個重要精神,是ACE2開發初始就持有的初衷!所有的ACE2運行庫,都是可直接內嵌、自動管理版本,不需要使用者進行任何管理干預的!

ACE2作為wow插件界的技術先鋒,為插件作者提供了一個良好的開發平台,也切實地為玩家帶來了易用、強大而低資源佔用的優秀插件。希望大家不要為過往的成見和一些人的誤導而錯失了如此優秀的插件!

談運行庫而色變,完全是沒有必要的。ACE2的優秀運行庫(包括ACE2和基於ACE2標準的CandyBar, Dewdrop, Metrognome, Compost, ParserLib等等)不但是簡化了插件的開發,優化了代碼,也對降低插件資源佔用作用。再加上ACE開發社區作者們強烈的優化意識,可以負責的說,ACE2的插件比其他插件絕對更省資源!

本質上來說, Qt是一個跨平台的C++應用程序開發框架,有時又被稱為C++部件工具箱。Qt被用在KDE桌面環境、Opera、GoogleEarth、Skype、Adobe Photoshop Album和VirtualBox的開發中。它是諾基亞(Nokia)的QtDevelopment Frameworks 部門的產品。使用 Qt,只需一次性開發應用程序和用戶界面,無須重新編寫源代碼,便可跨不同桌面和嵌入式操作系統部署這些應用程序。

基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等圖形界 面庫和 Windows 平台上的 MFC,OWL,VCL,ATL 是同類型的東西,但是 Qt 具有下列優點:

a) 優良的跨平台特性:

Qt支持下列操作系統: Microsoft Windows 95/98, Microsoft Windows NT, Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD,BSD/OS, SCO, AIX, OS390,QNX 等等。

b) 面向對象

Qt 的良好封裝機制使得 Qt 的模塊化程度非常高,可重用性較好,對於用戶開發來說是非常 方便的。 Qt 提供了一種稱為 signals/slots 的安全類型來替代 callback,這使得各個元件 之間的協同工作變得十分簡單。

c) 豐富的 API

Qt包括多達 250 個以上的 C++ 類,還替供基於模板的 collections, serialization, file, I/Odevice, directory management, date/time 類。甚至還包括正則表達式的處理 功能。

d) 支持 2D/3D 圖形渲染,支持 OpenGL

e) 大量的開發文檔

f) XML 支持

最近諾基亞發布了Qt 4.6——最新版的跨平台應用程序和用戶界面框架。Qt 4.6 對全新平台提供支持,具有強大的全新圖形處理能力並支持多點觸摸和手勢輸入,讓高級應用程序和設備的開發過程變得更加輕松和快樂。

諾基亞應用服務和框架副總裁Sebastian Nystrom說:「不論是什麼樣產品設計或開發平台,Qt 4.6的發布對開發人員來說都是一件令人興奮的事。」

「開發人員可以輕而易舉地為桌面平台或設備(包括數億部基於Symbian 和 Maemo系統的設備)開發出具有視覺美感和網路連接功能的應用程序。」
Nystr?m補充說:「開發人員將非常喜歡使用Qt直觀的編程界面,快速開發出功能強大、外表美觀的應用程序。」

更多平台

Qt4.6 首次包含了對Symbian 平台的支持,並在其所支持的平台中新增了 Windows 7、Apple Mac OS 10.6 (雪豹)和即將上市的Maemo 6。此外還為實時操作系統QNX 和 VxWorks提供了網路社區支持。對Maemo 5的支持目前也已進入研發階段,其技術預覽版第二版已於今日發布。
Qt 對 Symbian 和 Maemo 的支持首次為開發人員創造了使用同一代碼庫同時針對這兩個平台進行開發的機會。能夠跨平台分享代碼就意味著開發人員所開發的應用程序上市的速度將更快,影響的設備用戶群將更廣。

Qt Mobility項目下的全新Qt API技術預覽版也於今日同時發布。這些跨平台的API為開發人員提供了多種功能,如導航類設備的定位功能,以及信息發送和接收、聯系人和網路連接管理等。

外觀更炫

Qt 4.6是在4.5圖形增強功能的基礎上創建的,進一步強化了這些圖形功能,添加了全新的動畫框架(Animation Framework)——包括直觀的狀態機功能——以及全新的高級圖形功能,如不透明、陰影、閃光和濾鏡等。

使用手指

Qt4.6最令人興奮的新功能之一就是可以創建多點觸摸應用程序。這種全新的基於多觸點和手勢的輸入法(如輕觸和動力滾動)使Qt4.6框架的功能更為強大,用戶可以通過觸覺以動態的方式與應用程序和設備進行互動。

性能更強

傳統軟體開發觀點認為高級用戶界面功能的獲得通常是以性能嚴重受損作為代價的。Qt 4.6 對此觀點提出了挑戰,為此投入大量工作,既要獲得最佳性能,又要能讓開發人員所開發的產品達到用戶所要求的「令人驚嘆」的效果。

性能提升主要包括:一個經過高度優化、重新編寫的 Qt GraphicsView 渲染演算法、一個全新的 OpenGL 繪圖引擎、WebKit、使用 OpenVG 對 2D 矢量圖形的支持,以及對全新 DirectFB 的支持。

最新工具

在發布 Qt 4.6 的同時,作為 Qt 開發跨平台 IDE 的 Qt Creator 也發布了更新版本。Qt Creator 1.3 和 Qt 4.6共同構成的 Qt SDK,包含了開發跨平台應用程序所需的全部功能。(來自programbbs)

3、用QT能做什麼?

在QT的官方網站談到了15年來取得了的成就,它幫助世界各地和各個行業組織開發出先進的高度創新的應用和設備。

使用Qt,眾多的開發商和公司已經能夠:
● 減少了近50%的開發時間。
● 加速了50%的開發速度由於代碼可維護
● 減少了50%的代碼量

Qt的用戶怎麼說?
● 94%報告說,Qt的滿足或超過其發展的期望
● 92%會向他人推薦使用Qt
● 76%報告因為使用Qt,生產率提高

Qt的應用領域:

有很多出名的例子是都是使用Qt開發的。例如: Arora(一款跨平台的開源網頁瀏覽器)、eva(Linux版QQ聊天軟體)、FreeMat(一個自由開源的數值計算環境和編程語言 )、Ga-Ga(即時通信軟體)、Google地球(Google Earth)(三維虛擬地圖軟體)、ImageVis3D、KDE(著名的桌面環境)、Elibs(一個許多KDE程序都使用的共享庫,如Amarok、K3b、KDevelop、KOffice等)、Last.fm播放器(著名的互聯網音樂社區網站的桌面客戶端)、Motorola A760(UI 以 Qt/Embedded 建構)、MythTV9(開源的數字視頻錄制軟體)、Opera(著名的網頁瀏覽器)、Qterm(跨平台的BBS軟體)、QtExtended、Quantum GIS、Skype(一個使用人數眾多的基於P2P的VOIP聊天軟體)、SMPlayer(跨平台多媒體播放器)、TeamSpeak(跨平台的音效通信軟體) 、Tlen.pl:波蘭人發明的 instant messaging client TOra、VirtualBox(虛擬機軟體)、Xconfig(Linux的Kernel配置工具) 、chmcreator(開源的chm開發工具)……

Ⅱ QT中怎麼靜態編譯,靜態編譯的步驟是什麼。

Qt採用編譯的方式安裝的時候,配置中默認的編譯方式是動態編譯的,但是有時候你編寫的程序要發布出去,帶很多動態庫文件是很繁瑣的,此時就需要靜態編譯你的程序,Qt要實現靜態編譯必須庫文件也是靜態編譯的,所以在此介紹一下qt如何來進行靜態編譯第一步:下載源碼包Qt/X11版本:qt-x11-opensource-src-4.5.2.tar.gz第二步:解壓縮tarzxvfqt-x11-opensource-src-4.5.2.tar.gz第三步:進入到剛才解壓縮後的文件夾下並進行配置,如下./configure-release-platformwin32-msvc2008-static-nomakeexamples-nomakedemos-no-qt3support-no-scrip
...
by
fengyetang
2010-07-04
回復
(0)

Ⅲ Qt怎麼解壓zip的壓縮包

Qt調用zlib解壓縮的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
*返回值:將解壓出來的文件的絕對路徑保存在QStringList中
*
*參數:FileName是要解壓的zip文件的絕對路徑,QStringList其實也就是QList<QString> list類型用來保存解壓後各文件的路徑
*
*功能:解壓指定的zip文件並將解壓出來的文件的絕對路徑保存在list中
**/void WidgetSmallClass::slot_UncompressedFile( QString FileName ,QStringList & ListPic )
{
/**新建一個文件夾,用來保存解壓後的文件*/
QString UnpressPath = FileName.remove( ".zip" );
QDir dir;
dir.mkpath( UnpressPath );

unz_file_info64 FileInfo;
/**打開zip文件,這里記得一定要加上".zip",因為在上面的時候已經將".zip"移出去了。*/
unzFile zFile = unzOpen64( ( FileName + ".zip" ).toStdString().c_str() );
unz_global_info64 gi;
/**獲取文件數量*/
if ( unzGetGlobalInfo64( zFile, &gi ) == UNZ_OK )
{
int result;
for ( int i = 0; i < gi.number_entry; ++i )
{
char file[256] = { 0 };
char ext[256] = { 0 };
char com[1024] = { 0 };
if ( unzGetCurrentFileInfo64( zFile, &FileInfo, file, sizeof(file), ext, 256, com, 1024 ) != UNZ_OK )
{
;
}
if( !( FileInfo.external_fa & FILE_ATT

Ⅳ Qt怎麼讀取zip或者gz格式的文件

Excel.Application 是ActiveX 控制項的名字

QAxWidget::QAxWidget ( const QString & c, QWidget * parent = 0, Qt::WindowFlags f = 0 )

創建一個QAxWidget ,並且初始化ActiveX 控制項C

QAxObject* workbooks = widget.querySubObject("WorkBooks");
表示從widget中獲取一個com對象

這兩行的意思應該是創建一個excel的QAxWidget,並且獲取名為工作表的com對象

Ⅳ qt中如何解包利用python 的struct.pack()函數打包的數據

在Python中使用struct模塊打包數據和在C/C++語言中定義一個結構體(也是把多個成員打包到一塊)差不多。
只要客戶端告訴了你打包的數據的格式(比如:數據包的總長度、數據包中各個數據域的長度及類型,以及端序——大端還是小端),然後定義一個等價的C語言結構體,並把接收到的數據放入一個這樣的結構體變數(對象)中就完成了解包工作。然後,訪問結構體中的特定成員,就是訪問傳送過來的特定數據了。

Ⅵ 我在linux中tar解壓縮qt-everywhere-opensource-src-4.8.0.tar.gz 出現問題

gzip: stdin:invalid compressed data--crc error
非法壓縮數據,CRC校驗失敗。

可能是壓縮包損壞,重新下載試試。

Ⅶ 如何使用Qt加密解密類庫 QCA

下載:

類庫與插件:crypto拷貝到:Qt安裝目錄\Desktop\Qt\4.7.4\mingw\plugins\crypto

Qt feautre:feature拷貝到:Qt安裝目錄\Desktop\Qt\4.7.4\mingw\mkspecs\features

使用類庫時,需要:
1. 在你的Qt項目文件pro中添加"CONFIG += crypto"
2. 拷貝"OpenSSL-Win32\bin\"目錄下ssleay32.dll和libeay32.dll到你項目的debug或release目錄
3. 拷貝"qca-2.0.3\lib"目錄與"qca-ossl-2.0.0-beta3\lib"目錄下qca2.dll和qca-ossl2.dll到你項目的debug或release目錄
4. 在程序中使用QCA之前先使用語句QCA::Initializer init對QCA進行初始化

閱讀全文

與qt實現解壓縮演算法程序相關的資料

熱點內容
怎麼查移動定向流量使用的app 瀏覽:78
進入組策略的命令 瀏覽:137
python數據結構和內存 瀏覽:25
python軟體功能簡介 瀏覽:784
外國程序員一般多少歲退休 瀏覽:917
怎麼看linux和時間伺服器 瀏覽:680
程序員搞笑花名 瀏覽:501
dota2怎麼設置國服伺服器地址 瀏覽:212
單片機高電平驅動 瀏覽:115
ios多選文件夾 瀏覽:909
加強行車調度命令管理 瀏覽:243
伺服器已禁用什麼意思 瀏覽:150
部隊命令回復 瀏覽:755
神奇寶貝伺服器地圖怎麼設置 瀏覽:382
加密演算法輸出固定長度 瀏覽:862
程序員去重慶還是武漢 瀏覽:121
伺服器如何撤銷網頁登錄限制 瀏覽:980
微信公眾平台php開發視頻教程 瀏覽:628
怎麼看蘋果授權綁定的app 瀏覽:255
壓縮機單級壓縮比 瀏覽:380