导航:首页 > 源码编译 > 自制编译器的软件

自制编译器的软件

发布时间:2022-09-24 12:35:43

A. 用java制作一个简单的文本编译器,要能保存、打开,并对打开的文字进行字体、颜色、大小的设置~帮忙好吗

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;

public class wawu{
public static void main(String args[]){
EditWindowKeyEvent win=new EditWindowKeyEvent();
win.setVisible(true);
win.setTitle("Notebook");
}
}

class EditWindowKeyEvent extends JFrame implements ActionListener {
int s=14,f=Font.PLAIN;
JMenuBar menubar;
JMenu menu1,menu2,color,font,size;
JMenuItem open,save,red,blue,yellow,green,bold,italic,size16,size32,size48,size64;
JTextArea text;
JFileChooser fileDialog;
BufferedReader in;
FileReader fileReader;
BufferedWriter out;
FileWriter fileWriter;
EditWindowKeyEvent(){
init();
setBounds(150,160,280,290);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
void init(){
menubar=new JMenuBar();
menu1=new JMenu("File");
menu2=new JMenu("Format");
open=new JMenuItem("Open");
save=new JMenuItem("Save");
color=new JMenu("Color");
font=new JMenu("Font");
size=new JMenu("Size");
red=new JMenuItem("Red");
yellow=new JMenuItem("Yellow");
green=new JMenuItem("Green");
blue=new JMenuItem("Blue");
bold=new JMenuItem("Bold");
italic=new JMenuItem("Italic");
size16=new JMenuItem("Size16");
size32=new JMenuItem("Size32");
size48=new JMenuItem("Size48");
size64=new JMenuItem("Size64");
menubar.add(menu1);
menubar.add(menu2);
setJMenuBar(menubar);
fileDialog=new JFileChooser();
menu1.add(open);
menu1.add(save);
menu2.add(color);
menu2.add(font);
color.add(red);
color.add(yellow);
color.add(green);
color.add(blue);
font.add(bold);
font.add(italic);
font.add(size);
size.add(size16);
size.add(size32);
size.add(size48);
size.add(size64);
text=new JTextArea();
text.setEditable(true);
add(new JScrollPane(text),BorderLayout.CENTER);
open.addActionListener(this);
save.addActionListener(this);
color.addActionListener(this);
font.addActionListener(this);
red.addActionListener(this);
yellow.addActionListener(this);
green.addActionListener(this);
blue.addActionListener(this);
bold.addActionListener(this);
italic.addActionListener(this);
size16.addActionListener(this);
size32.addActionListener(this);
size48.addActionListener(this);
size64.addActionListener(this);
}
public void actionPerformed(ActionEvent e){

if(e.getSource()==open){
int state=fileDialog.showOpenDialog(this);
if(state==JFileChooser.APPROVE_OPTION){
text.setText(null);
try{
File dir=fileDialog.getCurrentDirectory();
String name=fileDialog.getSelectedFile().getName();
File file=new File(dir,name);
fileReader=new FileReader(file);
in=new BufferedReader(fileReader);
String s=null;
while((s=in.readLine())!=null){
text.append(s+"\n");
}
in.close();
fileReader.close();
}
catch(IOException exp){}
}
}
else if(e.getSource()==save){
int state=fileDialog.showSaveDialog(this);
if(state==JFileChooser.APPROVE_OPTION){
try{
File dir=fileDialog.getCurrentDirectory();
String name=fileDialog.getSelectedFile().getName();
File file=new File(dir,name);
fileWriter=new FileWriter(file);
out=new BufferedWriter(fileWriter);
out.write(text.getText());
out.close();
fileWriter.close();
}
catch(IOException exp){}
}
}
else if(e.getSource()==red){
text.setForeground(Color.red);
}
else if(e.getSource()==blue){
text.setForeground(Color.blue);
}
else if(e.getSource()==green){
text.setForeground(Color.green);
}
else if(e.getSource()==yellow){
text.setForeground(Color.yellow);
}
else if(e.getSource()==bold){
f=Font.BOLD;
}
else if(e.getSource()==italic){
f=Font.ITALIC;
}
else if(e.getSource()==size16){
s=16;
}
else if(e.getSource()==size32){
s=32;
}
else if(e.getSource()==size48){
s=48;
}
else if(e.getSource()==size64){
s=64;
}

Font F=new Font(null,f,s);
text.setFont(F);

}
}

B. 易语言怎么制作编译器

易语言制作的软件不能编译出新的软件,你可以用易语言制作两个软件,用一个软件输出另一个来达到目的,目前易语言制作的软件生成器就是这个原理

C. 高分求推荐一款CHM制作软件 真正用过的来

CHM EDITOR是所见所得工具,有现成的模板使用,功能一般,操作简单,唯一的优势就是所见所得{可能是唯一一款WYSWYG的软件}。

不过既然是图文并茂,建议还是在网页编辑器中编辑好再用编译器编译。这样效率更高。

就功能来说,推荐FAR HTML。软件介绍很多,网上查查就知道。

D. arm-linux-gcc交叉编译器的制作,以及版本选择问题。

,需要必须有足够动经验来支持。
另外,用 RH9 的都是高手,我想你的知识不需要来提问了吧?

1、在 PC 上编译 arm 的程序当然需要较差编译器,这个需要自己安装,或者着现成的交叉编译器环境,一般是一个特殊参数编译出来的 gcc + binutils + glibc + linux-header。这个每个人动环境不同,一般都需要自己编译一个,当然没有特殊需求,也可以找现成的。不过很难找,因为这套环境还要和你动系统搭配,不然环境不匹配,连这个环境都不能运行,那就更谈不上编译东西了。
有关自己编译搭建交叉编译环境,可以看看一个特殊的 Linux 发行版 LFS 的分支: CLFS 。

2、移植分很多意思,移植有可能就意味着这套源代码不能在目标系统上面编译,需要你根据相应的知识去修改源代码来让这套代码适应目标编译器的要求,比如源代码有 SSE4 的优化,这套程序在非 SSE4 CPU 上无法编译运行,但目标机器连 SSE1 都不支持。那么就需要移植。
或者移植仅仅是根据新的环境进行编译,不需要进行源代码修改,只需要进行一下编译就能运行的程序,也可以称为移植,就是从一个环境、架构 -》另一个环境、架构。都可以称为移植,但真正的移植意味着修改程序源代码来适应新环境。你说的这种移植是最简单的移植。

3、决定目标硬件环境 -》搭建目标编译器 -》制作目标环境(内核,基础软件库)-》进行应用移植(移植需要的软件、主应用程序)-》搭建系统文件系统 -》导入目标系统-》启动目标系统&应用。说起来很简单,因为这是完全没有问题的条件下。
至于超级终端。那是用来控制目标系统的。目标系统有可能不能插键盘鼠标显示器,这就需要一个远程网络链接来进行控制。以及通过远程链接来发送数据。这都需要终端的支持。

虚拟机下面进行开发,不能发挥你的计算机的性能。而且因为隔着 VMware 的软件模拟层,可能还不会很方便的让你链接目标设备。

至于用 socket ,我还没见到你的目标需要这个东西,因为所有的东西都是现成的源代码。不需要你从 0 开始写,当然你想自己写一个系统内核,或者服务器程序,或者全套的系统+应用,我绝对不拦你,但希望你写完这套东西,能把源代码发布出来。
ads 可以认为是一个支持环境,他本身不是一个系统的开发 SDK 。
-------------------------------------
ads 没用过,印象里他还有模拟器,调试器什么的程序。功能上要比 Linux 开发环境,WinCE 环境下面的东西更多更偏向于硬件方面,毕竟 ads 是 arm 出品的,不太可能偏向于软件部分设计。Linux 和 WinCE 都是系统而不是硬件工具。

你可以认为交叉编译器是一个应用程序,一个输出器。把源代码输出为 arm 的代码,这个应用程序的输出,是靠他自己的环境,而不是当前系统的环境的。
当前系统的各个软件的版本,不能影响交叉编译器输出的环境(理论上,现实有的时候总是从别的地方给你打击……),交叉编译器一般至少有 gcc 、binutils 、glibc 库、linux kernel 头文件。

在软件需求上。
头文件谁都不依赖,glibc 只需要内核头文件,其他程序全都依赖于 glibc 。也就是所有程序都不依赖内核,仅仅是依赖于内核头文件。

gcc 和 binutils 是把程序源代码根据上面各个环节的需提供的功能来输出为上面环节里面的二进制程序。依赖你当前环境的,只有 gcc 和 binutils 两个程序的执行、控制环节。只有他们两个依赖的,而不是你的交叉编译后的程序。

至于编译器版本的选择,新版本功能更好,旧版本兼容更好。
这个要看你的实际需要了。应用程序源代码也调编译器的,同时也依赖于软件库的功能。

arm 开发建议稳定、兼容优先。当然也可以尝试最新的编译环境,来获取更好的优化(前提是还有什么代码优化的话)。
另外,团IDC网上有许多产品团购,便宜有口碑

E. 制作exe程序需要用什么软件

有人把java和javascript都分不清了,呵呵。在大学时学过一点,全忘了,晕。

将Java应用程序本地编译为EXE的几种方法

1. 从www.towerj.com获得一个TowerJ编译器,该编译器可以将你的CLASS文件编译成EXE文件。

2. 利用微软的SDK-Java 4.0所提供的jexegen.exe创建EXE文件,这个软件可以从微软的网站免费下载,地址如下:

http://www.microsoft.com/java/download/dl_sdk40.htm

jexegen的语法如下:

jexegen /OUT:exe_file_name
/MAIN:main_class_name main_class_file_name.class
[and other classes]

3. Visual Cafe提供了一个能够创建EXE文件的本地编译器。你需要安装该光盘上提供的EXE组件。

4. 使用InstallAnywhere创建安装盘。

5. 使用IBM AlphaWorks提供的一个高性能Java编译器,该编译器可以从下面的地址获得:

http://www.alphaworks.ibm.com/tech/hpc

6. JET是一个优秀的Java语言本地编译器。该编译器可以从这个网站获得一个测试版本:

http://www.excelsior-usa.com/jet.html

7. Instantiations公司的JOVE

http://www.instantiations.com/jove/...ejovesystem.htm
JOVE公司合并了以前的SuperCede,一个优秀的本地编译器,现在SuperCede已经不复存在了。

8. JToEXE

Bravo Zulu Consulting, Inc开发的一款本地编译器,本来可以从该公司的网页上免费下载的,不过目前在该公司的主页上找不到了。

公司主页: http://www.bravozulu.com/

下面这个FTP上曾经有过这个软件,不知道现在是不是还在:

ftp://race.dlut.e.cn/pub/java/tools/jet

9.jbuilder

这个是Borland不公开的使用技巧,能够通过JBuilder来制作exe文件来启动Java文件。
JBuilder并不支持本地编译机制。但是有一个隐藏的技巧可以让你从可执行文件来启动Java程序,可以出现或者不出现console窗口。想做到这些,需要JBuilder的bin目录下的这些文件:
JBuilder.exe
JBuilderW.exe (可选)
JBuilder.config
jdk.config
JavaLauncher.dll
“JBuilder.exe”是一个通用的可执行外壳文件,用以启动Java程序,”JBuilderW.exe“好像是javaw.exe一样,它把”JBuilder.exe”包装起来,但是运行时候不显示那个console的窗口。使用这些文件的关键是文件名。“JBuilder.exe”查找一个文件叫”JBuilder.config”的配置文件,里面包含了运行Java程序的必须信息。同样的”JBuilderW.exe”查找”JBuilder.exe”来启动不带Console窗口的Java程序。如果把JBuilder.exe重命名为”foo
.exe”,那”foo.exe”将去寻找”foo.config”配置文件,同样”JBuilderW.exe”被重命名为”fooW.exe”,它会去寻找”foo.exe”文件。
说到这里,聪明的读者应该猜到怎样利用JBuilder.exe来启动应用程序了。只要把JBuilder.exe,JBuilerW.exe,JBuilder.config改名成相应的文件名,在JBuilder.config里面指定主类和类路径,就能够通过执行JBuilder.exe(或者被改名后的exe文件)来启动Java应用程序了。下面是用本机为例。
Borland JBuilder 5被安装在E:\jbuilder5\目录下,在E:\jbuilder5\bin\下建立一个temp目录,然后把JBuilder.exe,JBuilder.config,JavaLauncher.dll,jdk.config四个文件拷贝到E:\jbuilder5\bin\temp\目录下,然后在这个目录下建立一个hello目录,在这个目录下生成一个hello.java文件,即E:\jbuilder5\bin\temp\hello\hello.java文件,
file://hello.java/
package hello;
public class hello{
public static void main(String s[]){
System.out.println("Hello, Exe file!");
}
}
编译成class文件,然后打开Jbuilder.config文件,作相应的修改:
在JBuilder.config里面找到下面两行
# Start JBuilder using the its main class
mainclass com.borland.jbuilder.JBuilder
修改为
# Start JBuilder using the its main class
mainclass hello.hello
addpath E:/jbuilder5/bin/temp/
addpath命令是把目录加入类路径中,这个命令和其它config里面可以识别的命令可以在JBuilder/bin目录下的config_readme.txt里面找到详细说明。
然后将jdk.config里面的javapath修改成相对的路径,例如原来是
javapath ../jdk1.3/bin/java
修改成
javapath ../../jdk1.3/bin/java
最后
将JBuilder.exe,JBuilder.config修改成所需要的文件名,例如foo.exe和foo.config文件。
现在执行foo.exe文件
至此,通过修改JBuilder来使用exe文件启动自己的Java应用程序已经完成了。
但是好玩的地方并不在这个地方,下面的小技巧可能更有趣,将Jar文件打包进入exe文件!
假设利用上面的文件,生成hello.jar包,
jar cvf hello.jar hello\*.class
然后将jar包附加到JBuilder.exe后面去,
/b ..\JBuilder.exe+hello.jar foo.exe
在foo.config(JBuilder.config)文件里面把前面加入的类路径去掉,并加入下面的路径:
addpath E:/jbuilder5/bin/temp/foo.exe
然后执行,foo.exe
看到了么?一个含jar包的exe文件被执行了!
这个过程的大致原理是:exe文件的重要信息都在文件头部,所以把乱七八糟的东西放exe文件尾部是不要紧的;而jar/zip文件的重要信息是在文件尾部的,这样它们两不相干,能够容易的被执行。
请注意:读者如果使用这个功能,得自己承担可能带来的风险,因为Borland对这个功能不提供官方的支持!

还可以去看看 http://www-900.ibm.com/developerWor...ive/index.shtml这是一篇分析的文章,但它提供了很多有用的资料。

F. 30天自制操作系统里面的nask编译器谁有,发给我个链接

这本书正确的光盘大小是334MB,少于这个数字的就不要下了,而且这本书写的并不怎么样,真正的商业操作系统不是这么搞的,这本书即使学得再透也只能做个玩玩的系统,想学懂操作系统建议你从硬件编程入手,软件上学的东西派不上用场,推荐一本书作

G. 怎么用Inno Setup 编译器制作安装程序

启动Inno Setup Compiler汉化版软件。

选择创建新的空白脚本文件,按确定。

然后按下一步。

在相应的项目里填上相应的内容,按下一步。

在图中的1处以浏览的方式选择主程序,然后一个个添加目录,添加完后要记得编辑所添加的目录,以免所有文件安装在目标目录下。在图中的2处选添加目录后按编辑。

在下图中的1处填上子目录的名称,在2处下拉选择其他设置。设置之后按确定继续下一步。

按提示内容填写后执行下一步。

最后生成的脚本格式的程序如下图所示。编译好后就完成制作了。

H. 如何制作汇编编译器

1、你要知道汇编与机器码的转换原理
2、你要会写软件

这2个是最重要的,会了就可以写了

I. 《自制编译器》pdf下载在线阅读,求百度网盘云资源

《自制编译器》[日]青木峰郎电子书网盘下载免费在线阅读

链接: https://pan..com/s/1fOP78HCfHLZHKwnx5PoAUw

密码:ufdr

书名:自制编译器
作者名:[日]青木峰郎
豆瓣评分:7.7
出版社:人民邮电出版社
出版年份:2016-6
页数:472
内容介绍:
本书将带领读者从头开始制作一门语言的编译器。笔者特意为本书设计了CЬ语言,CЬ可以说是C语言的子集,实现了包括指针运算等在内的C语言的主要部分。本书所实现的编译器就是C Ь语言的编译器, 是实实在在的编译器,而非有诸多限制的玩具。另外,除编译器之外,本书对以编译器为中心的编程语言的运行环境,即编译器、汇编器、链接器、硬件、运行时环境等都有所提及,介绍了程序运行的所有环节。
作者介绍:
程序员,着有《Ruby程序设计268技(第2版)》《Ruby源代码完全解说》《Linux程序设计》等多部编程相关着作。并积极参与标准库维护、文档维护等各种各样的活动。

阅读全文

与自制编译器的软件相关的资料

热点内容
谷歌云服务器大升级 浏览:772
一年半程序员找工作 浏览:659
带方舟编译器的手机版本 浏览:32
云服务器扩容磁盘受影响 浏览:390
肉戏比较多的电影 浏览:751
rtu命令 浏览:549
美女母乳片 浏览:462
ak大咖电影在线观看 浏览:226
加固的app反编译 浏览:909
字符串混淆算法 浏览:89
辽宁海关压缩时间 浏览:541
web备忘录源码 浏览:36
芝麻开门的新app怎么用 浏览:399
与何皇后有染的三国小说 浏览:198
msgtopdf 浏览:324
孕妇系列哪几部好看 浏览:315
有关楼上男人看楼下女人的电影 浏览:889
android70预览版 浏览:879
最新适合年轻人看的电影 浏览:188
神经网络算法可以解决吗 浏览:148