Ⅰ qt是c++編譯器自帶的,還是需要自己去下載
Qt不過是使用C++的圖形庫,編譯器可以選用任何支持C++的編譯器,所以需要分別下載和安裝。
windows版的qt,大體分為兩種提供二進制下載,g++和MSVC,無論哪一種在使用前必須先安裝編譯器。另外windows版的集成開發環境Qt-creator gcc版安裝包中帶有編譯器。
在無二進制發布的操作系統,如IBM Aix中就只能使用xlc或gcc編譯器編譯qt源代碼獲得qt庫了。
Ⅱ mac,windows,linux各個系統介紹
Linux
From the name of its creator, Linus Torvalds, influenced by the term Unix. The original name of Linux was Freax, combining the words Free and Unix, and referring to phreaking. The administrator of the server on which Linux was first held didn't like the connection to phreaking, so Torvalds changed the name to Linux.
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software.The Linux kernel is released under the GNU General Public License version 2 (GPLv2) plus proprietary licenses for some controversial BLOBs and is developed by contributors worldwide. Day-to-day development takes place on the Linux kernel mailing list.The Linux kernel was initially conceived and created by Finnish computer science student Linus Torvalds in 1991. Early on, the MINIX community contributed code and ideas to the Linux kernel. At the time, the GNU Project had created many of the components required for a free software operating system, but its own kernel, GNU Hurd, was incomplete and unavailable. The BSD operating system had not yet freed itself from legal encumbrances. This meant that despite the limited functionality of the early versions, Linux rapidly accumulated developers and users who adopted code from those projects for use with the new operating system. The Linux kernel has received contributions from thousands of programmers. Many Linux distributions have been released based upon the Linux kernel.
Windows
Microsoft Windows is a series of software operating systems and graphical user interfaces proced by Microsoft. Microsoft first introced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs). Microsoft Windows came to dominate the world's personal computer market, overtaking Mac OS, which had been introced previously. As of Octoboer 2009, Windows had approximately 93% of the market share of the client operating systems for usage on the Internet. The most recent client version of Windows is Windows 7; the most recent server version is Windows Server 2008.
mac
The Macintosh, or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introced on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a graphical user interface rather than a command-line interface.Through the second half of the 1980s, the company built market share only to see it dissipate in the 1990s as the personal computer market shifted towards IBM PC compatible machines running MS-DOS and Microsoft Windows. Apple consolidated multiple consumer-level desktop models into the 1998 iMac all-in-one, which was a sales success and saw the Macintosh brand revitalized. Current Mac systems are mainly targeted at the home, ecation, and creative professional markets. They are: the aforementioned (though upgraded) iMac and the entry-level Mac mini desktop models, the workstation-level Mac Pro tower, the MacBook, MacBook Air and MacBook Pro laptops, and the Xserve server.
Ⅲ 電腦里常用的的英語有那些(漢語意思)
第一部分、計算機演算法常用術語中英對照
Data Structures 基本數據結構
Dictionaries 字典
Priority Queues 堆
Graph Data Structures 圖
Set Data Structures 集合
Kd-Trees 線段樹
Numerical Problems 數值問題
Solving Linear Equations 線性方程組
Bandwidth Rection 帶寬壓縮
Matrix Multiplication 矩陣乘法
Determinants and Permanents 行列式
Constrained and Unconstrained Optimization 最值問題
Linear Programming 線性規劃
Random Number Generation 隨機數生成
Factoring and Primality Testing 因子分解/質數判定
Arbitrary Precision Arithmetic 高精度計算
Knapsack Problem 背包問題
Discrete Fourier Transform 離散Fourier變換
Combinatorial Problems 組合問題
Sorting 排序
Searching 查找
Median and Selection 中位數
Generating Permutations 排列生成
Generating Subsets 子集生成
Generating Partitions 劃分生成
Generating Graphs 圖的生成
Calendrical Calculations 日期
Job Scheling 工程安排
Satisfiability 可滿足性
Graph Problems -- polynomial 圖論-多項式演算法
Connected Components 連通分支
Topological Sorting 拓撲排序
Minimum Spanning Tree 最小生成樹
Shortest Path 最短路徑
Transitive Closure and Rection 傳遞閉包
Matching 匹配
Eulerian Cycle / Chinese Postman Euler迴路/中國郵路
Edge and Vertex Connectivity 割邊/割點
Network Flow 網路流
Drawing Graphs Nicely 圖的描繪
Drawing Trees 樹的描繪
Planarity Detection and Embedding 平面性檢測和嵌入
Graph Problems -- hard 圖論-NP問題
Clique 最大團
Independent Set 獨立集
Vertex Cover 點覆蓋
Traveling Salesman Problem 旅行商問題
Hamiltonian Cycle Hamilton迴路
Graph Partition 圖的劃分
Vertex Coloring 點染色
Edge Coloring 邊染色
Graph Isomorphism 同構
Steiner Tree Steiner樹
Feedback Edge/Vertex Set 最大無環子圖
Computational Geometry 計算幾何
Convex Hull 凸包
Triangulation 三角剖分
Voronoi Diagrams Voronoi圖
Nearest Neighbor Search 最近點對查詢
Range Search 范圍查詢
Point Location 位置查詢
Intersection Detection 碰撞測試
Bin Packing 裝箱問題
Medial-Axis Transformation 中軸變換
Polygon Partitioning 多邊形分割
Simplifying Polygons 多邊形化簡
Shape Similarity 相似多邊形
Motion Planning 運動規劃
Maintaining Line Arrangements 平面分割
Minkowski Sum Minkowski和
Set and String Problems 集合與串的問題
Set Cover 集合覆蓋
Set Packing 集合配置
String Matching 模式匹配
Approximate String Matching 模糊匹配
Text Compression 壓縮
Cryptography 密碼
Finite State Machine Minimization 有窮自動機簡化
Longest Common Substring 最長公共子串
Shortest Common Superstring 最短公共父串
DP——Dynamic Programming——動態規劃
recursion —— 遞歸
第二部分、編程詞彙
A2A integration A2A整合
abstract 抽象的
abstract base class (ABC)抽象基類
abstract class 抽象類
abstraction 抽象、抽象物、抽象性
access 存取、訪問
access level訪問級別
access function 訪問函數
account 賬戶
action 動作
activate 激活
active 活動的
actual parameter 實參
adapter 適配器
add-in 插件
address 地址
address space 地址空間
address-of operator 取地址操作符
ADL (argument-dependent lookup)
ADO(ActiveX Data Object)ActiveX數據對象
advanced 高級的
aggregation 聚合、聚集
algorithm 演算法
alias 別名
align 排列、對齊
allocate 分配、配置
allocator分配器、配置器
angle bracket 尖括弧
annotation 註解、評注
API (Application Programming Interface) 應用(程序)編程介面
app domain (application domain)應用域
application 應用、應用程序
application framework 應用程序框架
appearance 外觀
append 附加
architecture 架構、體系結構
archive file 歸檔文件、存檔文件
argument引數(傳給函式的值)。參見parameter
array 數組
arrow operator 箭頭操作符
ASP(Active Server Page)活動伺服器頁面
ASP.NET worker process ASP.NET工作者進程
assembly 裝配件、配件
assembly language 匯編語言
assembly manifest 裝配件清單
assert(ion) 斷言
assign 賦值
assignment 賦值、分配
assignment operator 賦值操作符
associated 相關的、相關聯的
associative container 關聯式容器(對應sequential container)
asynchronous 非同步的
atomic 原子的
atomic operation 原子操作
attribute 特性、屬性
authentication service 驗證服務
authorization 授權
audio 音頻
A.I. 人工智慧
B2B integration B2B整合、B2B集成(business-to-business integration)
background 背景、後台(進程)
backward compatible 向後兼容、向下兼容
backup 備份
backup device備份設備
backup file 備份文件
bandwidth 帶寬
base class 基類
base type 基類型
batch 批處理
BCL (base class library)基類庫
binary 二進制
binary search 二分查找
binary tree 二叉樹
binary function 雙參函數
binary large object二進制大對象
binary operator 二元操作符
binding 綁定
bit 位
bitmap 點陣圖
bitwise 按位...
bitwise 為單元進行復制;位元逐一復制,按位拷
bitwise operation 按位運算
block 塊、區塊、語句塊
bookkeeping 簿記
boolean 布林值(真假值,true或false)
border 邊框
bounds checking 邊界檢查
boxing 裝箱、裝箱轉換
brace (curly brace) 大括弧、花括弧
bracket (square brakcet) 中括弧、方括弧
breakpoint 斷點
browser applications 瀏覽器應用(程序)
browser-accessible application 可經由瀏覽器訪問的應用程序
build 編連(專指編譯和連接
built-in 內建、內置
bus 匯流排
business 業務、商務(看場合)
business Logic 業務邏輯
business rules 業務規則
buttons 按鈕
bug 臭蟲
by/through 通過
byte 位元組(由8 bits組成)
cache 高速緩存
calendar 日歷
call 調用
callback 回調
call-level interface (CLI)調用級介面(CLI)
call operator 調用操作符
candidate key 候選鍵 (for database)
cascading delete 級聯刪除 (for database)
cascading update 級聯更新 (for database)
casting 轉型、造型轉換
catalog 目錄
chain 鏈(function calls)
character 字元
character format 字元格式
character set 字元集
CHECK constraints CHECK約束 (for database)
checkpoint 檢查點 (for database)
check box 復選框
check button 復選按鈕
child class 子類
CIL (common intermediate language)通用中間語言、通用中介語言
class 類
class declaration 類聲明
class definition 類定義
class derivation list 類繼承列表
class factory 類廠
class hierarchy 類層次結構
class library 類庫
class loader 類裝載器
class template 類模板
class template partial specializations 類模板部分特化
class template specializations 類模板特化
classification 分類
clause 子句
client application 客戶端應用程序
client cursor 客戶端游標 (for database)
code page 代碼頁
cleanup 清理、清除
CLI (Common Language Infrastructure) 通用語言基礎設施
client 客戶、客戶端
client area 客戶區
client-server 客戶機/伺服器、客戶端/伺服器
clipboard 剪貼板
clone 克隆
CLS (common language specification) 通用語言規范
code access security 代碼訪問安全
COFF (Common Object File Format) 通用對象文件格式
collection 集合
COM (Component Object Model) 組件對象模型
combo box 組合框
command line 命令行
comment 注釋
commit 提交 (for database)
communication 通訊
compatible 兼容
compile time 編譯期、編譯時
compiler 編譯器
component組件
composite index 復合索引、組合索引 (for database)
composite key 復合鍵、組合鍵 (for database)
composition 復合、組合
concept 概念
concrete具體的
concrete class 具體類
concurrency 並發、並發機制
constraint 約束 (for database)
configuration 配置、組態
connection 連接 (for database)
connection pooling 連接池
console 控制台
constant 常量
construct 構件、成分、概念、構造(for language)
constructor (ctor) 構造函數、構造器
container 容器
containment包容
context 環境、上下文
control 控制項
cookie (不譯)
拷貝
CORBA 通用對象請求中介架構(Common Object Request Broker Architecture)
cover 覆蓋、涵蓋
create/creation 創建、生成
crosstab query 交叉表查詢 (for database)
CRTP (curiously recurring template pattern)
CTS (common type system)通用類型系統
cube 多維數據集 (for database)
cursor 游標
cursor 游標 (for database)
custom 定製、自定義
data 數據
data connection 數據連接 (for database)
Data Control Language (DCL) 數據控制語言(DCL) (for database)
Data Definition Language (DDL) 數據定義語言(DDL) (for database)
data dictionary 數據字典 (for database)
data dictionary view 數據字典視圖 (for database)
data file 數據文件 (for database)
data integrity 數據完整性 (for database)
data manipulation language (DML)數據操作語言(DML) (for database)
data mart 數據集市 (for database)
data pump 數據抽取 (for database)
data scrubbing 數據清理 (for database)
data source 數據源 (for database)
Data source name (DSN) 數據源名稱(DSN) (for database)
data warehouse 數據倉庫 (for database)
dataset 數據集 (for database)
database 資料庫 (for database)
database catalog 資料庫目錄 (for database)
database diagram 數據關系圖 (for database)
database file 資料庫文件 (for database)
database object 資料庫對象 (for database)
database owner 資料庫所有者 (for database)
database project 資料庫工程 (for database)
database role 資料庫角色 (for database)
database schema 資料庫模式、資料庫架構 (for database)
database script 資料庫腳本 (for database)
data-bound 數據綁定 (for database)
data-aware control數據感知控制項 (for database)
data member 數據成員、成員變數
dataset 數據集 (for database)
data source 數據源 (for database)
data structure數據結構
data table 數據表 (for database)
datagram 數據報文
DBMS (database management system)資料庫管理系統 (for database)
DCOM (distributed COM)分布式COM
dead lock 死鎖 (for database)
deallocate 歸還
debug 調試
debugger 調試器
decay 退化
decision support 決策支持
declaration 聲明
declarative referential integrity (DRI)聲明引用完整性(DRI) (for database)
dection 推導
DEFAULT constraint默認約束 (for database)
default database 默認資料庫 (for database)
default instance 默認實例 (for database)
default result set 默認結果集 (for database)
default 預設、默認值
defer 推遲
definition 定義
delegate 委託
delegation 委託
dependent name
deploy 部署
dereference 解引用
dereference operator (提領)運運算元
derived class 派生類
design by contract 契約式設計
design pattern 設計模式
destroy 銷毀
destructor(dtor)析構函數、析構器
device 設備
DHTML (dynamic HyperText Markup Language)動態超文本標記語言
dialog 對話框
digest 摘要
digital 數字的
DIME (Direct Internet Message Encapsulation)直接Internet消息封裝
directive (編譯)指示符
directory 目錄
dirty pages臟頁 (for database)
dirty read 臟讀 (for database)
disassembler 反匯編器
DISCO (Discovery of Web Services)Web Services的查找
disk 盤
dispatch 調度、分派、派發(我喜歡「調度」)
DISPID (Dispatch Identifier)分派標識符
distributed computing 分布式計算
distributed query 分布式查詢 (for database)
DNA (Distributed interNet Application) 分布式網間應用程序
document 文檔
DOM (Document Object Model)文檔對象模型
dot operator (圓)點操作符
driver 驅動(程序)
DTD (document type definition) 文檔類型定義
double-byte character set (DBCS)雙位元組字元集(DBCS)
mp 轉儲
mp file 轉儲文件
dynamic cursor 動態游標 (for database)
dynamic filter 動態篩選 (for database)
dynamic locking 動態鎖定 (for database)
dynamic recovery 動態恢復 (for database)
dynamic snapshot 動態快照 (for database)
dynamic SQL statements 動態SQL語句 (for database)
dynamic assembly 動態裝配件、動態配件
dynamic binding 動態綁定
EAI (enterprise application integration)企業應用程序集成(整合)
EBCO (empty base class optimization) 空基類優化(機制)
e-business 電子商務
EDI (Dlectronic Data Interchange)電子數據交換
efficiency 效率
efficient 高效
end-to-end authentication 端對端身份驗證
end user 最終用戶
engine 引擎
entity 實體
encapsulation 封裝
enclosing class 外圍類別(與巢狀類別 nested class有關)
enum (enumeration) 枚舉
enumerators 枚舉成員、枚舉器
equal 相等
equality 相等性
equality operator 等號操作符
error log 錯誤日誌 (for database)
escape code 轉義碼
escape character 轉義符、轉義字元
exclusive lock 排它鎖 (for database)
explicit transaction 顯式事務 (for database)
evaluate 評估
event 事件
event driven 事件驅動的
event handler 事件處理器
evidence 證據
exception 異常
exception declaration 異常聲明
exception handling 異常處理、異常處理機制
exception-safe 異常安全的
exception specification 異常規范
exit 退出
explicit 顯式
explicit specialization 顯式特化
export 導出
expression 表達式
facility 設施、設備
fat client 胖客戶端
feature 特性、特徵
fetch 提取
field 欄位(java)
field 欄位 (for database)
field length 欄位長度 (for database)
file 文件
filter 篩選 (for database)
finalization 終結
firewall 防火牆
finalizer 終結器
firmware 固件
flag 標記
flash memory 快閃記憶體
flush 刷新
font 字體
foreign key (FK) 外鍵(FK) (for database)
form 窗體
formal parameter 形參
forward declaration 前置聲明
forward-only 只向前的
forward-only cursor 只向前游標 (for database)
fragmentation 碎片 (for database)
framework 框架
full specialization 完全特化
function 函數
function call operator (即operator ()) 函數調用操作符
function object 函數對象
function overloaded resolution函數重載決議
functionality 功能
function template函數模板
functor 仿函數
GAC (global assembly cache) 全局裝配件緩存、全局配件緩存
GC (Garbage collection) 垃圾回收(機制)、垃圾收集(機制)
game 游戲
generate 生成
generic 泛化的、一般化的、通用的
generic algorithm通用演算法
genericity 泛型
getter (相對於 setter)取值函數
global 全局的
global object 全局對象
global scope resolution operator 全局范圍解析操作符
grant 授權 (for database)
granularity 粒度
group 組、群
group box 分組框
GUI 圖形界面
GUID (Globally Unique Identifier) 全球唯一標識符
hand shaking 握手
handle 句柄
handler 處理器
hard-coded 硬編碼的
hard- 截屏圖
hard disk 硬碟
hardware 硬體
hash table 散列表、哈希表
header file頭文件
heap 堆
help file 幫助文件
hierarchy 層次結構、繼承體系
hierarchical data 階層式數據、層次式數據
hook 鉤子
Host (application)宿主(應用程序)
hot key 熱鍵
hyperlink 超鏈接
HTML (HyperText Markup Language) 超文本標記語言
HTTP pipeline HTTP管道
HTTP (HyperText Transfer Protocol) 超文本傳輸協議
icon 圖標
IDE (Integrated Development Environment)集成開發環境
IDL (Interface Definition Language) 介面定義語言
identifier 標識符
idle time 空閑時間
if and only if當且僅當
IL (Intermediate Language) 中間語言、中介語言
image 圖象
IME 輸入法
immediate base 直接基類
immediate derived 直接派生類
immediate updating 即時更新 (for database)
implicit transaction隱式事務 (for database)
incremental update 增量更新 (for database)
index 索引 (for database)
implement 實現
implementation 實現、實現品
implicit 隱式
import 導入
increment operator 增加操作符
infinite loop 無限循環
infinite recursive 無限遞歸
information 信息
infrastructure 基礎設施
inheritance 繼承、繼承機制
inline 內聯
inline expansion 內聯展開
initialization 初始化
initialization list 初始化列表、初始值列表
initialize 初始化
inner join 內聯接 (for database)
in-place active 現場激活
instance 實例
instantiated 具現化、實體化(常應用於template)
instantiation 具現體、具現化實體(常應用於template)
integrate 集成、整合
integrity 完整性、一致性
integrity constraint完整性約束 (for database)
interprocess communication (IPC)進程間通訊(IPC)
interacts 交互
interface 介面
for GUI 界面
interoperability 互操作性、互操作能力
interpreter 解釋器
introspection 自省
invariants 不變性
invoke 調用
isolation level 隔離級別 (for database)
iterate 迭代
iterative 反復的、迭代的
iterator 迭代器
iteration 迭代(迴圈每次輪回稱為一個iteration)
item 項、條款、項目
JIT compilation JIT編譯 即時編譯
key 鍵 (for database)
key column 鍵列 (for database)
laser 激光
late binding 遲綁定
left outer join 左向外聯接 (for database)
level 階、層例
high level 高階、高層
library 庫
lifetime 生命期、壽命
link 連接、鏈接
linkage 連接、鏈接
linker 連接器、鏈接器
literal constant 字面常數
list 列表、表、鏈表
list box 列表框
livelock 活鎖 (for database)
load 裝載、載入
load balancing 負載平衡
loader 裝載器、載入器
local 局部的
local object 局部對象
lock 鎖
log 日誌
login 登錄
login security mode登錄安全模式 (for database)
lookup table 查找表 (for database)
loop 循環
loose coupling 鬆散耦合
lvalue 左值
machine code 機器碼、機器代碼
macro 宏
maintain 維護
managed code 受控代碼、託管代碼
Managed Extensions 受控擴充件、託管擴展
managed object 受控對象、託管對象
mangled name
manifest 清單
manipulator 操縱器(iostream預先定義的一種東西)
many-to-many relationship 多對多關系 (for database)
many-to-one relationship 多對一關系 (for database)
marshal 列集
member 成員
member access operator 成員取用運運算元(有dot和arrow兩種)
member function 成員函數
member initialization list成員初始值列表
memberwise 以member為單元…、members 逐一…
memberwise
memory 內存
memory leak 內存泄漏
menu 菜單
message 消息
message based 基於消息的
message loop 消息環
message queuing消息隊列
metadata 元數據
metaprogramming元編程
method 方法
micro 微
middleware 中間件
middle tier 中間層
modeling 建模
modeling language 建模語言
modifier 修飾字、修飾符
modem 數據機
mole 模塊
most derived class最底層的派生類
mouse 滑鼠
mutable 可變的
mutex 互斥元、互斥體
multidimensional OLAP (MOLAP) 多維OLAP(MOLAP) (for database)
multithreaded server application 多線程伺服器應用程序
multiuser 多用戶
multi-tasking 多任務
multi-thread 多線程
multicast delegate 組播委託、多點委託
named parameter 命名參數
named pipe 命名管道
namespace 名字空間、命名空間
native 原生的、本地的
native code 本地碼、本機碼
Native Image Generator (NGEN)本地映像生成器
nested class 嵌套類
nested query 嵌套查詢 (for database)
nested table 嵌套表 (for database)
network 網路
network card 網卡
nondependent name
object 對象
object based 基於對象的
object file 目標文件
object model 對象模型
object oriented 面向對象的
laser 激光
late binding 遲綁定
left outer join 左向外聯接 (for database)
level 階、層例
high level 高階、高層
library 庫
lifetime 生命期、壽命
link 連接、鏈接
linkage 連接、鏈接
linker 連接器、鏈接器
literal constant 字面常數
list 列表、表、鏈表
list box 列表框
livelock 活鎖 (for database)
load 裝載、載入
load balancing 負載平衡
loader 裝載器、載入器
local 局部的
local object 局部對象
lock 鎖
log 日誌
login 登錄
login security mode登錄安全模式 (for database)
lookup table 查找表 (for database)
loop 循環
loose coupling 鬆散耦合
lvalue 左值
machine code 機器碼、機器代碼
macro 宏
maintain 維護
managed code 受控代碼、託管代碼
Managed Extensions 受控擴充件、託管擴展
managed object 受控對象、託管對象
mangled name
manifest 清單
manipulator 操縱器(iostream預先定義的一種東西)
many-to-many relationship 多對多關系 (for database)
many-to-one relationship 多對一關系 (for database)
marshal 列集
member 成員
member access operator 成員取用運運算元(有dot和arrow兩種)
member function 成員函數
member initialization list成員初始值列表
memberwise 以member為單元…、members 逐一…
memberwise
memory 內存
memory leak 內存泄漏
menu 菜單
message 消息
message based 基於消息的
message loop 消息環
message queuing消息隊列
metadata 元數據
metaprogramming元編程
method 方法
micro 微
middleware 中間件
middle tier 中間層
modeling 建模
modeling language 建模語言
modifier 修飾字、修飾符
modem 數據機
mole 模塊
most derived class最底層的派生類
mouse 滑鼠
mutable 可變的
mutex 互斥元、互斥體
multidimensional OLAP (MOLAP) 多維OLAP(MOLAP) (for database)
multithreaded server application 多線程伺服器應用程序
multiuser 多用戶
multi-tasking 多任務
multi-thread 多線程
multicast delegate 組播委託、多點委託
named parameter 命名參數
named pipe 命名管道
namespace 名字空間、命名空間
native 原生的、本地的
native code 本地碼、本機碼
Native Image Generator (NGEN)
Ⅳ AIX是一個什麼樣的系統麻煩給點詳細的資料
AIX 全名為(Advanced Interactive Executive),它是IBM 公司的Unix操作系統,
整個系統的設計從網路、主機硬體系統,到操作系統完全遵守開放系統的原則。
下面對AIX 作以介紹。
RS/6000 採用IBM 的UNIX操作系統-AIX作為其操作系統。這是一
個目前操作系統界最成功,應用領域最廣,最開放的第二代的UNIX系
統。它特別適合於做關鍵數據處理(CRITICAL)。
AIX 包含了許多IBM 大型機傳統受歡迎的特徵,如系統完整性,系統可管理
性和系統可用性。
在 AIX 操作系統上,有許多的資料庫和開發工具,用戶除了選用已有的應用
軟體外,還可以根據各自的需要進行開發。
此外,在AIX 之上,有一組功能強,使用方便的系統管理工具。對於異種平台
互存,互操作有很成熟的解決方案。
由於該 UNIX 的先進的內核技術和最好的開放性,因此,雖然RS/6000
從宣布到今天只有短短的5 年多的時間攜慧陪,它已在各行各業有了廣泛的運用,
並在1993和1994年連續二年在MIDRANGE商用 UNIX 領域處於第一位。
RISC SYSTEM/6000的操作系統是AIX ,它是性能卓越的、開放的
UNIX,匯集了多年來計算機界在UNIX上的研究成果,以IBM 在計算機
體系結構、操作系統方面40多年極其豐富的經驗。最大限度的使用RISC
技術,安裝了象AIX 這樣的具備工業界實力的UNIX操作系統。
它既可連接SAA 體系結構,又能與非IBM 系統的網路相連,因此,可以
和多數專業銀行現有的系統實現互連,這對今後業務系統拓展將帶來極大的
靈活性,並降低投資。
AIX 遵循一系列的國際標准:
* IEEE POSIX1004.1-碧碰1990
* X/OPEN 移植指南ISSUE3的基本級(XPG3)
* AES/OS REVISION A (OSF/1 LEVEL 2 資格)
* FIPS 151-1
* AIX的編譯器: XLC、C++(可選)、FORTRAN(可選)、PASCAL(可選)、COBOL(可選)
* ADA 的編譯器已達到XPG3「成員」級的認可。
* AIX 支持多用戶、多任務。
AIX有一些其它特性包括:
AIX 提供了3 種SHELL :SYSTEM V的KORN、BOURNE SHELL和4.3BSDC
SHELL作為可選擇的UNIX系統界面;
安全設施滿足TCB (Trusted Computing Base)的C2級;
實時處理能力,這對於「面向交易」的應用至關重要(如零售業
和銀行等),它使RS/6000 獲得極高的響應和吞吐量;
虛擬存儲管理,當需要時,可將一些不常用的模塊轉送至外存,
提高內存的可利用性。
先進的文件系統,使得系統管理更加有效,並提高了數據可靠性
以及完整性。
能兼容Dos 應用程序和數據。
InfoExplorer,快速信息超文本索引系統- 不僅包括文字,而且
對包含聲音、圖像的索引辯蠢系統,這是個聯機的文件介面。包括全部的
超文本的索引和查找,以及面向任務和坐標的多重導引和索引系統。
這個文字及圖形索引系統以一個靈活的、基於任務的方式去使用詳細
資料及培訓資料。
高級系統管理工具(SMIT,System Management Interface Tool)。
提供一級菜單驅動程序,諸如完成軟體的安裝與設置、設備的設置及
管理、問題的測定、存貯管理等。可以自動地進行I/O 設備設置,
ASCII 終端也可充當系統控制台。在LAN 上可以進行遠程系統的安裝。
系統工作負載
系統工作負載的完整准確的定義對於預測或理解它的性能是很關鍵的。在衡量系統性能時,工作負載的不同可能會比 CPU 時鍾速度或隨機訪問存儲器(RAM)大小不同帶來更多的變化。工作負載的定義不僅必須包含向系統發送的請求的類型和速率,還要包含將要執行的確切軟體包和內部應用程序。
包括系統將在後台處理的工作也很重要。例如,如果一個系統包含通過 NFS 載入且由其它系統頻繁訪問的文件系統,那麼處理那些訪問很可能是總體工作負載中非常重要的一部分,即使該系統不是正式的伺服器也是如此。
已進行標准化從而允許在不同系統之間進行比較的工作負載稱為基準程序。但是,很少有實際的工作負載能完全符合基準程序的精確演算法和環境。即使是那些最初從實際的應用程序發展而來的行業標准基準程序也已經過簡化和均勻化,從而使它們可移植到大量的硬體平台上。使用行業標准基準程序唯一有效的方法是減小將接受嚴肅評估的候選系統的范圍。因此,在嘗試理解系統的工作負載和性能時不應該只依賴基準測試結果。
可以將工作負載分為以下類別:
多用戶
由多個用戶通過各自的終端提交的工作組成的工作負載。通常,這種工作負載的性能目標有兩種可能,即在保留指定的最壞情況響應時間條件下最大化系統吞吐量,或者對於固定不變的工作負載獲得盡可能快的響應時間。
伺服器
由來源於其它系統的請求組成的工作負載。例如,文件伺服器的工作負載主要是磁碟讀寫請求。它是多用戶工作負載(加上 NFS 或其它 I/O 活動)的磁碟 I/O 部分,所以適用同樣的目標,即在給定的相應時間限制下最大化吞吐量。其它的伺服器工作負載由諸如數學計算密集的程序、資料庫事務、列印機作業之類的項組成。
工作站
由單獨的用戶通過鍵盤提交工作和在該系統的顯示器上接收結果組成的工作負載。通常這種工作負載的最高優先順序性能目標是使用戶請求的響應時間最短。
性能目標
在定義了系統必須處理的工作負載後,可以選擇性能標准並根據這些標准設定性能目標。計算機系統的總體性能標準是響應時間和吞吐量。
響應時間是提交請求和返回該請求的響應之間使用的時間。示例包括:
資料庫查詢花費的時間
將字元回顯到終端上花費的時間
訪問 Web 頁面花費的時間
吞吐量是對單位時間內完成的工作量的量度。示例包括:
每分鍾的資料庫事務
每秒傳送的文件千位元組數
每秒讀或寫的文件千位元組數
每分鍾的 Web 伺服器命中數
這些度量之間的關系很復雜。有時可能以響應時間為代價而得到較高的吞吐量,而有時候又要以吞吐量為代價得到較好的響應時間。在其它情況下,一個單獨的更改可能對兩者都有提高。可接受的性能基於合理的吞吐量與合理的響應時間相結合。
在規劃或調諧任何系統中,當處理特定的工作負載時一定要保證對響應時間和吞吐量都有明確的目標。否則,有可能存在一種風險,那就是您花費了分析時間和物力改善的僅僅是系統性能中一個次要的方面。
程序執行模型
為了清楚地檢查工作負載的性能特徵,需要有一個動態而非靜態的程序執行模型,如下圖所示。
圖 1. 程序執行層次結構. 該圖形以一個三角形為基礎。左邊代表和右邊適當的操作系統實體匹配的硬體實體。程序必須從存儲在磁碟上的最低級別開始,到最高級別的處理器運行程序指令。例如,從底部到頂部,磁碟硬體實體容納可執行程序;實內存容納等待的操作系統線程和中斷處理程序;轉換後備緩沖區容納可分派的結程;高速緩存中包含當前分派的線程和處理器流水線;而寄存器中包含當前的指令。
程序為了運行必須沿著硬體和操作系統層次結構並行向上前進。硬體層次結構中的每個元素都比它下面的元素稀少和昂貴。不僅程序不得不為了每個資源和其它程序競爭,而且從一個級別過渡到下一級別也要花時間。為了理解程序執行動態,需要對層次結構中每一級別有個基本的了解。
硬體層次結構
通常,從一個硬體級別移動到另一級別所需要的時間主要由較低級別的等待時間(從發出請求到接受到第一批數據的時間)組成。
固定磁碟
對於一個在單機系統中運行的程序而言,最慢的操作是從磁碟上取得代碼或數據,這是因為有下列原因:
必須引導磁碟控制器直接訪問指定的塊(排隊延遲)。
磁碟臂必須尋道以找到正確的柱面(尋道等待時間)。
讀/寫磁頭必須等候直到正確的塊旋轉到它們下面(旋轉等待時間)。
數據必須傳送到控制器(傳送時間)然後傳遞到應用程序中(中斷處理時間)。
除了程序中顯式的讀或寫請求以外,還有許多原因導致磁碟操作緩慢。頻繁的系統調諧活動證明是不必要地跟蹤了磁碟 I/O。
實內存
實內存通常稱為隨機存取存儲器或 RAM,它比磁碟速度快,但每個位元組的開銷非常昂貴。操作系統盡量只把當前使用的代碼和數據保存在 RAM 中,而把任何額外的內容存儲在磁碟上,或者決不首先把它們帶入 RAM 中。
然而,RAM 的速度不一定比處理器快。通常在硬體意識到 RAM 訪問需求與處理器可使用數據或指令的時間之間,會出現許多處理器周期的 RAM 等待時間。
如果要訪問存儲到磁碟上(或者尚未調進)的某一虛擬內存頁,則會產生一個缺頁故障,並且程序的執行暫掛直到該頁從磁碟讀取。
轉換後備緩沖區(TLB)
使程序員不會受限於系統的物理局限性的方法是實現虛擬內存。程序員在設計和編寫程序時認為內存非常大,系統將負責將程序中指令和數據的虛擬地址轉換成需要用來從 RAM 取得的指令和數據的實際地址。因為這個地址轉換過程可能很費時,系統將最近訪問過的虛擬內存頁的實際地址保存在一個叫轉換後備緩沖區(TLB)的高速緩存中。
只要運行中的程序繼續訪問程序和數據頁中的一小部分,則完整的從虛擬到實際頁地址的轉換過程就不需要在每次 RAM 訪問的時候都重做一次。當程序試圖訪問的虛擬內存頁沒有 TLB 入口(即 TLB 未命中)時,則需要大量的處理器周期(即 TLB 未命中等待時間)來進行地址轉換。
高速緩存
為了將程序必須經歷的 RAM 等待時間減到最小,系統為指令和數據組織了高速緩存。如果所需的指令和數據已在高速緩存中,則產生高速緩存命中,處理器就可在下一個周期立刻使用該指令或數據。否則產生高速緩存未命中,伴隨有 RAM 等待時間。
在某些系統中,有兩到三級高速緩存,通常稱它們為 L1、L2 和 L3。如果一個特殊的存儲器引用導致 L1 未命中,則檢查 L2。如果 L2 產生未命中,則引用轉至下一個級別,要麼是 L3(如果存在),要麼是 RAM。
高速緩存的大小和結構根據型號的不同而有不同,但是有效使用它們的原理是相同的。
流水線和寄存器
流水線型超標量體系結構使得在某些情況下可以同時處理多個指令。大批的通用寄存器和浮點寄存器使得可以將相當多的程序數據保存在寄存器中,而不需要頻繁存儲和重新裝入。
可以設計優化編譯器最大限度地利用這些能力。當生成產品程序時,無論程序有多小編譯器的優化函數都應該能使用。Optimization and Tuning Guide for XL Fortran, XL C and XL C++ 中描述了如何將程序調諧到最大性能。
軟體層次結構
程序為了運行還必須逐步執行軟體層次結構中的一系列步驟。
可執行程序
當請求運行某個程序時,操作系統執行一些操作以將磁碟上的可執行程序轉換成運行中的程序。首先,必須掃描當前 PATH 環境變數中的目錄以查找程序的正確副本。然後,系統裝入程序(不要和 ld 命令混淆,該命令是個綁定程序)必須解析出從程序到共享庫的任何外部引用。
為了表示用戶的請求,操作系統將創建一個進程或一組資源(例如專用虛擬地址段),任何運行中的程序都需要該進程或資源。
操作系統也會在該進程中自動創建一個單獨的線程。線程是一個單獨程序實例的當前執行狀態。在 AIX 中,對處理器和其它資源的訪問是根據線程來分配而不是根據進程分配的。應用程序可在一個進程中創建多個線程。這些線程共享由運行它們的進程所擁有的資源。
最後,系統轉移到程序的入口點。如果包含入口點的程序頁還不在內存中(可能因為程序最近才編譯、執行和復制),則由它引起的缺頁故障中斷將該頁從它的後備存儲器中讀取出來。
中斷處理程序
通知操作系統發生了外部事件的機制是中斷當前運行線程並將控制轉移到中斷處理程序。在中斷處理程序可以運行之前,必須保存足夠的硬體狀態以保證在中斷處理完成後系統能恢復線程的上下文。新調用的中斷處理程序將經歷在硬體層次結構中上移帶來的所有延遲(除了頁面故障)。如果該中斷處理程序最近沒有運行過(或者中間程序很節約時間),那麼它的任何代碼或數據不太可能保留在 TLB 或高速緩存中。
當再次調度已中斷的線程時,它的執行上下文(如寄存器內容)邏輯上將得到恢復,以便它可以正確運行。然而,TLB 和高速緩存的內容必須根據程序的後繼請求重新構造。因此,作為中斷的結果,中斷處理程序和被中斷的線程都可能遇到大量的高速緩存未命中和 TLB 未命中延遲。
等待線程
無論何時只要執行的程序發出不能立刻滿足的請求,例如同步 I/O 操作(顯式的或缺頁故障的結果),該線程就會處於等待狀態,直到請求完成為止。除了請求本身所需的時間以外,通常這還會導致另外一些 TLB 和高速緩存的延遲時間。
可分派線程
當某個線程可分派但不在運行時,它不能完成任何有用的事情。更糟的是,正運行的其它線程可能導致重新使用該線程的高速緩存線路並將實內存頁收回,從而引起最終分派時出現更多的延遲。
當前已分派的線程
調度程序選擇對使用處理器有強烈要求的線程。在『CPU 調度程序性能概述』中討論了影響該項選擇需要考慮的事項。當分派線程後,處理器的邏輯狀態恢復成線程中斷時有效的狀態。
當前的機器指令
如果未出現 TLB 或高速緩存未命中的情況,絕大多數機器指令都能在單個處理器周期內執行。相比之下,如果程序迅速轉換到該程序的不同區域且訪問大量不同區域中的數據,就會產生較高的 TLB 和高速緩存未命中率,執行每條指令使用的平均處理器周期數(CPI)可能大於 1。這種程序被認為有較差的局域性引用能力。它也許在使用必需的最少指令數來做這個工作,但是要消耗大量不必要的周期數。部分是因為指令數和周期數之間相關性較弱,檢查程序列表來計算路徑長度不會再直接產生一個時間值。由於較短的路徑通常比較長的路徑快,所以速率根據路徑長度率的不同而明顯不同。
編譯器用完善的方法重新安排代碼從而將程序執行所需的周期數降到最小。追求最佳性能的程序員必須首先致力於確保編譯器具有有效優化代碼所需的全部信息,而不是試圖事後批評編譯器的優化技術(請參閱『預處理器和編譯器的有效使用』)。優化有效性的實際衡量標準是可信工作負載的性能。
系統調諧
在有效實現應用程序後,系統總體性能的進一步提高就成了系統調諧考慮的一個問題。系統級調諧包含的主要組件有:
通信 I/O
取決於工作負載的類型與通信鏈路的類型,可能需要調諧以下的一個或多個通信設備驅動程序:TCP/IP 或 NFS。
固定磁碟
邏輯卷管理器(LVM)控制文件系統的位置和磁碟上調頁空間,這可能會極大地影響系統經歷的尋道等待時間。磁碟設備驅動程序控制執行 I/O 請求所遵從的順序。
實內存
虛擬內存管理器(VMM)控制空閑實內存幀的池,並決定何時從何處取用幀來補充該池。
運行線程
調度程序確定接下來由哪個可調度實體接收控制權。在 AIX 中,可調度實體是線程。請參閱『線程支持』。
性能調諧過程介紹
性能調諧主要是資源管理問題和正確的系統參數設置。調諧工作負載和系統以有效利用資源由下列步驟組成:
識別系統中的工作負載
設置目標:
確定如何評測結果
量化目標和區分目標的優先順序
識別限制系統性能的關鍵資源
最小化工作負載的關鍵資源要求:
如果可選擇的話,使用最適當的資源
減少個別程序或系統函數對關鍵資源的要求
結構化資源的並行使用
修改資源的分配以反映優先順序
更改個別程序的優先順序或資源限制
更改系統資源管理參數的設置
重復步驟 3 到步驟 5 直到滿足目標(或者資源飽和)
如果必要的話,使用其它資源
在系統性能管理的每個階段都有相應的工具(參閱附錄 A 『監視和調諧命令和子常式』)。這些工具有些可從 IBM 得到;另一些是第三方產品。下圖說明在一個簡單的 LAN 環境中性能管理的各階段。
圖 2. 性能階段. 該圖用五個加權的圓圈說明對系統性能調諧的各步驟:規劃、安裝、監視、調諧和擴展。每個圓圈代表系統處於不同的性能狀態:空閑、不均衡、均衡和過載。實質上就是擴展一個過載的系統、調諧系統直到它是均衡的、監視不均衡的系統並且在需要擴展時安裝更多的資源。
識別工作負載
系統執行的所有工作都必須能夠識別。特別是在 LAN 連接的系統中,通過系統的用戶之間僅有的非正式協議,可以輕松地開發出一組復雜的交叉安裝的文件系統。這些文件系統必須被識別出來並作為任何調諧活動的一部分進行考慮。
對於多用戶工作負載,分析員必須量化一般情況和高峰期的請求率。確定用戶實際與終端交互時間的實際比例也是很重要的。
該識別階段中的一個要素是決定必須對生產系統進行評估和調諧活動,還是在另一系統上(或「切換」)用實際工作負載的模擬型式來完成評估和調諧活動。分析員必須針對非生產環境的靈活性權衡來自於生產環境結果的較大可靠性,分析員可在非生產環境中進行試驗,當然試驗所冒的風險是性能下降或更糟。
設置目標的重要性
雖然可以根據可測數量設置目標,但實際希望的結果往往帶有主觀性,比如令人滿意的響應時間。進一步講,分析員必須抵擋住調諧可測量的東西而不是對他而言是重要東西的誘惑。如果沒有系統提供的評估能符合所要求的改進,那麼就必須對該評估進行設計。
量化目標最有價值的方面不是選擇達到的數字,而是對(通常)多個目標的相對重要性進行公開判定。如果這些優先順序沒有事先設定且不是每個相關的人都理解的話,分析員在沒有進行頻繁咨詢之前不能作出任何折衷的決定。分析員還容易對用戶的反應或管理性能中一些已經被忽略的方面而感到吃驚。如果系統的支持和使用跨過了組織的邊界,您可能需要供應商和用戶之間的書面服務級協議,可確保對性能目標和優先順序有一個清楚而共同的理解。
識別關鍵資源
通常,給定工作負載的性能可由一兩種關鍵系統資源的可用性和速度決定。分析員必須正確識別出那些資源,否則會冒險陷入無休止的嘗試出錯操作。
系統具有物理資源和邏輯資源。關鍵的物理資源通常比較容易識別,因為較多的系統性能工具可用來評估物理資源的利用率。通常最影響性能的物理資源如下:
CPU 周期
內存
I/O 匯流排
不同的適配器
磁碟臂
磁碟空間
網路訪問
邏輯資源不太容易識別。邏輯資源通常是對物理資源進行分區的編程抽象。進行分區的目的是共享和管理物理資源。
構建於其上的物理資源和邏輯資源的一些示例如下:
CPU
處理器時間片
內存
頁面幀
堆棧
緩沖區
隊列
表
鎖和信號量
磁碟空間
邏輯卷
文件系統
文件
分區
網路訪問
會話
信息包
通道
了解邏輯資源和物理資源是很重要的。因為缺少邏輯資源線程可能阻塞,就像因為缺少物理資源而阻塞一樣,擴展下層物理資源未必能保證創建附加的邏輯資源。例如,考慮使用 NFS 塊 I/O 守護程序 biod。客戶機上的一個 biod 守護程序要求處理每個暫掛的 NFS 遠程 I/O 請求。因此,biod 守護程序的數量限制了能同時運行的 NFS I/O 操作的數量。當缺少 biod 守護程序時,系統檢測會指示 CPU 和通信鏈路只使用了很少一部分。您可能有系統未充分利用(並且很慢)的假象,事實上這時是因為缺少 biod 守護程序從而限制了其餘的資源。biod 守護程序使用處理器周期和內存,但您不能簡單地通過添加實內存或將它轉移到一個更快的 CPU 上來修正這個問題。解決方案是創建更多的邏輯資源(biod 守護程序)。
在應用程序開發過程中可能不經意間創建邏輯資源和瓶頸。傳遞數據或控制設備的方法可以有效地創建一個邏輯資源。當偶然創建這樣的資源時,通常沒有工具可監視它們的使用,也沒有介面控制它們的分配。它們的存在可能不會引起重視,直到某個特定性能問題出現時就會突出它們的重要性。
最小化關鍵資源要示
下面討論在三個級別上考慮最小化工作負載的關鍵資源要求。
使用適當的資源
決定在一個資源上使用另一個資源時應該理智地考慮並且頭腦中要有明確的目標。在應用程序開發過程中有一個選擇資源的示例,即通過增加內存消耗來減少 CPU 的消耗來達到一個平衡。用於演示資源選擇的公共的系統配置決策為:是將文件放置在單獨的本地工作站上,還是放置在遠程伺服器上。
減少關鍵資源的要求
對於本地開發的應用程序,可用多種方法檢查程序以便其更有效地執行相同的功能或除去不需要的功能。在系統管理級別上,爭用關鍵資源的低優先順序工作負載可以移動到其它系統中、在其它時間運行或由「工作負載管理器」控制。
結構化資源的並行使用
因為工作負載需要運行多個系統資源,從而可以利用這樣的事實,即資源是獨立的且可以並行使用。例如,操作系統預讀演算法檢測到程序在順序訪問文件的事實,因此它調度並行執行的其它順序讀取操作,同時應用程序還處理先前的數據。並行也用於系統管理。例如,如果某個應用程序同時訪問兩個或多個文件且如果同時訪問的這些文件存放在不同的驅動器上,那麼添加一個額外的磁碟驅動器可能會提高磁碟 I/O 的速率。
資源分配優先順序
操作系統提供了一些方法來區分活動的優先順序。有些在系統級別上設置,比如磁碟調步。其它的例如進程優先順序可由單個用戶設置以反映連接到特定任務上的重要性。
重復調諧步驟
性能分析的一個公認的真理是接下來總有瓶頸出現。減少某個資源的使用意味著另一資源限制了吞吐量或響應時間。例如,假設我們的系統中有下列的利用率級別:
CPU:90% 磁碟:70% 內存:60%
這個工作負載是 CPU 受限的。如果成功的調諧工作負載使得 CPU 負載從 90% 降到 45%,則可望在性能上有兩倍的改善。不幸的是現在的工作負載是 I/O 受限的,它有下列的近似利用率:
CPU:45% 磁碟:90% 內存:60%
改善後的 CPU 利用率允許程序立刻提交磁碟請求,但接下來我們會受到由磁碟驅動器的容量施加的限制。性能改善也許是 30% 而不是預期的 100%。
總是存在一個新的關鍵資源。重要的問題是使用手邊的資源是否已經滿足性能目標。
注意: 用 vmtune、schedtune 和其它調諧命令產生的不正當系統調諧可能導致意外的系統行為,例如降低系統或應用程序的性能或系統暫停。更改僅應在性能分析識別出瓶頸時才適用。
注:
對於性能相關的調諧設置,不存在什麼一般建議。
應用額外的資源
在前述所有的方法都用盡後如果系統性能仍不能滿足它的目標,則必須增強或擴展關鍵資源。如果關鍵資源是邏輯資源且下層物理資源足夠,則無需額外代價就可以擴展邏輯資源。如果關鍵資源是物理資源,分析員必須研究一些額外的問題:
必須增強或擴展關鍵資源到什麼程度才可以終止瓶頸?
系統性能會滿足它的目標嗎?或另外的資源會首先飽和嗎?
如果有一串關鍵資源的話,增強或擴展所有這些資源或與另一系統劃分當前工作負載是否更節省成本呢?
性能基準
當試圖比較不同環境中給定軟體的性能時,常會遇到許多可能的錯誤,一些是技術上的,一些是概念上的。本節包含主要的提示信息。本書其它各節討論評測過去和特定處理時間的不同方法。
評測處理系統調用需要花費的時間(掛鍾)時,需要獲取一個由下列內容組成的數字:
執行正運行服務的指令所需要的確切時間
處理器等待內存中的指令或數據時延遲的不同時間(也就是說,高速緩存和 TLB 不命中的代價)
在調用開頭和結束訪問時鍾所需要的時間
由周期性事件如系統定時器中斷所消耗的時間
由或多或少的隨機事件消耗的時間,如 I/O
為了避免報告一個不精確的數字,常常要求多次評測工作負載。因為所有的外部的因素都會增加處理時間,典型的評估集有一個曲線的形式
Ⅳ 什麼是QT軟體
Qt 是一個1991年由Qt Company開發的跨平台C++圖形用戶界面應用程序開發框架。
Qt既可以開發GUI程序,也可用於開發非GUI程序,比如控制台工具和伺服器。Qt是面向對象的框架,使用特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,Qt很容易擴展,並且允許真正地組件編程。
2008年,Qt Company科技被諾基亞公司收購,Qt也因此成為諾基亞旗下的編程語言工具。2012年,Qt被Digia收購。
2014年4月,跨平台集成開發環境Qt Creator 3.1.0正式發布,實現了對於iOS的完全支持,新增WinRT、Beautifier等插件,廢棄了無Python介面的GDB調試支持,集成了基於Clang的C/C++代碼模塊,並對Android支持做出了調整。
(5)aix插件雲編譯器測試版擴展閱讀
優點:
1、優良的跨平台特性。
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等。
2、面向對象。
Qt的良好封裝機制使得Qt的模塊化程度非常高,可重用性較好,對於用戶開發來說是非常方便的。Qt提供了一種稱為signals/slots 的安全類型來替代callback,這使得各個元件之間的協同工作變得十分簡單。
3、豐富的API。
Qt包括多達250個以上的C++類,還提供基於模板的collections、serialization、file、I/O device、directory management和date/time類。甚至還包括正則表達式的處理功能。
4、支持2D/3D圖形渲染,支持OpenGL。
Ⅵ unix下C編譯器版本如何查看
常用的編譯器有gcc, clang, c-compiler, xlc(AIX)等。一般他們會綁定到cc(軟連接), 所以你可以查看下cc指向哪個連接,如果遵循GNU語法,那麼看版本就是cc --version. 一個系統可以裝多個版本的多種編譯器,那麼就可以看下$PATH變數中優先哪個生效?當然還有其他編譯器,如intel 廠商的。可以看man XXXX 然後搜 version.