编译器怎么写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文件会自动包含进你的工程