編譯器怎麼寫UI
A. 想利用C或C++做界面設計,怎麼做
方法步驟如下:
1、首先打開計算機在,在計算機內打開打開QtCreator,新建一個qt工程。
B. qt creator 中 ui文件 怎麼用編譯界面修改
將.ui文件用普通文本編譯器打開,進行更改再運行就可以
C. VC如何用編譯器將自己的源代碼轉換成目標軟體,可以執行打開的軟體,編譯成exe文件是所有文件編譯的結果
至於生成什麼文件應該看樓主需要進行設置,一般默認都會生成.EXE文件,
首先先從文件說吧,不管什麼格式都是一個文件,裡面都是數字也就是代碼,而我們在軟體里常用的文件格式一般是頭文件(.h .hpp以h開頭等),代碼實現文件(.c .cpp等),裡面裝的也就是程序代碼。
Windows(一般用VC寫的程序)程序分為 程序代碼 和 UI(User Interface用戶介面)資源 兩大部分,兩部份最後以RC編譯器整合為一個完整的EXE 文件。
所謂UI 資源是指功能菜單、對話框外貌、程序圖標、游標形狀、圖片等等東西。這些UI 資源的實際內容(二進制代碼)系藉助各種工具產生,並以各種擴展名存在,如.ico、.bmp、.cur 等等,這需要樓主在VC的資源(RC)編輯器里去搞,
過程就是,你點擊運行時,首先C編譯器編譯(所有的,當然會有先後順序這要看編譯器了).cpp文件並(.h 不會編譯不然就不要#include了~~)生成.OBJ文件(其中進行語法檢查,轉換成匯編,再轉換成二進制代碼等);提示一下,如果你在VC中有圖片呀,按鈕呀之類的是RC編譯器在你添加後自動做好的文件,它就是以圖形的形式顯示給你看而已,在C編譯的同時RC編譯器將這些圖片呀之類的搞成一個.RES的文件,再之後就是連接了,連接器把.OBJ .RES再弄成.EXE文件,
其實樓主先把這些比較核心和基礎的搞懂就OK了,希望樓主是VC界一代新秀啊~~~~~~
D. C語言的UI
你這些問題是必須要搞清楚的。
1. 首先,UI的實現在不同的操作系統平台上是有所不同的。Windows的UI是內置於操作系統的,Linux/Unix的UI則是通過一個應用程序實現的。由此看來,變成語言本身並不提供對UI的支持,C#語言本身也沒有UI功能,但微軟隨同C#編譯環境發布了與封裝了系統UI介面函數的系列類庫,因此使用C#可以方便地進行UI的編程。同樣C語言自身也沒有提供UI的內容,但支持C語言的編譯器VC則包含了MFC類庫,MFC對windows操作系統的UI介面函數進行了封裝,也很好用。另外,C更側重於底層的開發,而C#的目標則是用於提高開發效率。簡單地說,C#的編譯器和底層的虛擬機正式使用C語言來開發的。C#的機制類似於Java。
2. C語言的可移植性是比較差的,這也正是由於它偏向於底層的緣故。在Linux下編譯好的可執行程序,不能直接拿到windows平台運行的。Java的跨平台是由於在虛擬機上對位元組代碼的解釋後執行的。而運行於不同操作系統上的虛擬機同樣也是不能跨平台的。
3. C語言一般只要能對指針比較熟練地運用,也就可以了。至於程度,當然要和你所做的項目和平台的要求有關。
【優勢軟體實訓】
E. C++ Qt的ui頭文件是編譯器自己生成的嗎不用去管
qt creator是自動編譯的,如果要自己手動可以調用uic命令進行編譯
F. Qt creator中使用.ui文件的問題
第一,你這多繼承看著很違和,為啥還要聲明一個私有的ui啊?
第一個錯誤是:在函數聲明和實現的簽名中兩次使用默認值,這個算是編譯器的警告,而算不上是錯誤除非是嚴格警告(把所有的警告當做錯誤對待)。
第二個就是setupUI的問題了,這個你設計其中選擇的是dialog,但是你多繼承的時候用的是qwidget……把父類轉換成為子類是無法通過隱式轉換完成的,需要使用dynamic_cast或者強制類型轉換變成一個子類對象,不過我認為dynamic_cast會返回空,因為這種轉換時不安全的。
綜上,兩個錯誤和Qt沒一毛錢的關系,都是C++最基本的問題。
G. 自己寫編譯器怎麼寫,我想為中國程序員做個編譯C語言的編譯器。
首先做這個東西的意義並不大,如果是想學習的話,看看這本書Modern Compiler by Andrew W. Appel
H. 匯編語言編譯器是怎麼編寫的
編譯器自舉!搜索這個關鍵字
程序都是編譯器編譯的。這個是肯定的
至於第一款X語言編譯器是不是直接1010101010自己寫的那就不知道啦
一般開發編譯器的話。有兩條路選擇
1.利用yacc(或者其變種)&lex(詞法分析)-等工具自己生成語法模板
詞法語法都可以使用這些工具自己生成
然後自己編寫生成的中間碼和生成的機器碼就可以了
一般做編譯原理類似試驗都是如此的。許多編譯器也的確是這樣
2.自己寫詞法分析和語法分析。可以參考一些開源的編譯器
lcc-這個是ANSI C99標準的編譯器是開源的
或者nasm,watcom等編譯器到www.sf.net上不少開源的編譯器
總的來說。高級語言編譯器比較難寫
如果想快速寫出一個的話
可以採用第一種做法。利用工具生成語法詞法模板
先寫一個簡單的匯編編譯器比較簡單
開源的有nasm,jwasm(支持masm語法開源的編譯器)
http://www.japheth.de/JWasm.html
fasm(這款編譯器是自舉的.就是自己可以編譯自己),
http://flatassembler.net/
剩下的就是自己做好語言規則關鍵字map
引用高手的話。語言map做好了你的編譯器也做好一半了
剩下的都是機械性的工作了。
生成x86或者arm指令。
優化工作這個很難解釋.根據你所需要的做吧
畢竟可以做出一個無錯,又XX的編譯器已經很難得
你可以選擇使用現有的編譯器開發自己的編譯器
然後等到你的編譯器支持相當數量指令和成熟度的時候
使用自己的語法重新寫一遍編譯器.
這樣你就可以用自己的編譯器開發自己的編譯器了(是不是很邪惡?)
另外舉幾個例子
Delphi的編譯器是C++ Builder開發的。
而C++ Builder的IDE是Delphi開發的
C++ Builder的編譯器是C++ Builder開發的-這個就是編譯器自舉了。。Delphi和C++ Builder共享一個後端化優化器。
Delphi 早期的版本的編譯器是tasm直接編譯的。可見Anders的匯編功力多強悍(Anders也就是後來VJ++,C#,.NET工程的核心架構師.最關鍵的靈魂級人物)
VC++的編譯器是VC++開發的。很明顯這都說明了編譯器自舉
自己開發自己。如果一個編譯器可以做到自己編譯自己。那基本上就可以實現任何功能了。
關於編譯器開發的書籍可以看一下
龍書《編譯原理(第二版)》
虎書《現代編譯原理-C語言描述》
鯨書《高級編譯器設計與實現》
建議從鯨書看起。然後是龍書
再來是虎書--虎書裡面描述了許多現代編譯器(正如其名)技術
例如面向對象啦,優化,垃圾回收等等.
鯨書看完基本上就可以實現一個簡單的Tiny C編譯器了
然後在龍書鞏固,讀一下語言規范,自己看一些開源的匯編編譯器代碼
自己就可以嘗試做一個匯編語言編譯器了.等到技術提高了
在嘗試做一些高級語法識別,參考LCC代碼做一下ANSI C99的
C語言編譯器。再來就看你自己的興趣和領悟度拉
如果想支持C++的話就得要對編譯器做許多方便的研究
類似Java那種跨平台或者Ruby,Python等動態語言
虎書中也有描述。當然看自己功力了
I. 如何編寫自己的編譯器
我暈,你們老師真NB,你學的什麼語言啊?是c嗎?上來就讓你做個編譯器,你們老師吃錯葯了吧?
我大學同學畢業設計才是做個編譯器,那會那倆人合作做的,還都是我們系公認的c最強的兩個,合作還做了半年,你認為大一剛上來就做這個?!
J. qt.ui 文件.ui文件是怎麼生成相應的.h文件的
這是由moc編譯器來自動生成的,moc編譯器會相對.ui文件進行編譯,生成的.h文件會自動包含進你的工程