当前位置:首页 » 编程软件 » 编译脚本

编译脚本

发布时间: 2022-01-09 03:46:21

脚本是用什么语言编译

编译性语言:
在运行前需要将源代码转换为可执行代码的语言。
例如:C, C++, java, C#。

解释性语言:

运行前不需要编译,可直接由运行器程序直接执行的编程语言。
例如:PHP, Bash。

脚本语言:
解释性语言中,用于执行简单任务的语言。一般没有 类 或者此类高级功能。
例如:Bash, Batch。

Ⅱ 用shell脚本怎样编译java工程

用shell脚本怎样编译java工程


编译java工程一般直接用IDE或者用Ant、Maven之类的工具,很少有人用纯shell来编译java工程。正好遇到这样一个应该,用这篇博文做一下记录。
案例:用eclipse写了一个java project,然后编译打成jar包。

这个可以采用eclipse自带的Export就可以导出jar了。但是为了软件自动化等巴拉巴拉的原因,采用存shell脚本编译。

就是制定了运行的main-class(有public static void main(String args[])的类)。
将这个文件拷贝到iec104的根目录下,然后执行脚本compile.sh,内容如下:

#!/bin/bash

cur_dir=$(pwd)
echo $cur_dir

function do_compile_iec104(){
# echo $cur_dir
iec104=$cur_dir/iec104
iec104_src=$cur_dir/iec104/src
iec104_bin=$cur_dir/iec104/bin
# echo $iec104_src
# echo $iec104_bin
iec104_class=$cur_dir/iec104/class

# 将iec104的src目录下的所有java文件的名称存入到iec104/src/sources.list文件中
rm -rf $iec104_src/sources.list
find $iec104_src -name "*.java" > $iec104_src/sources.list
cat $iec104_src/sources.list

# $iec104_class是存放编译的class文件的目录
rm -rf $iec104_class
mkdir $iec104_class

# 这里开始编译java文件,注意这里的-encoding utf-8,刚开始并没有加入这个,然后就报了一堆错误,纠结了很久才发现,这里给各位提个醒了。
javac -d $iec104_class -encoding utf-8 -classpath $iec104_bin/classes12.jar:$iec104_bin/junit-4.10.jar:$iec104_bin/log4j-1.2.17.jar:$iec104_bin/mysql-connector-java-5.0.5-bin.jar:$iec104_bin/RXTXcomm.jar -g -sourcepath $iec104_src @$iec104_src/sources.list

# 由于用到了log4j,所以要将log4j的配置文件一并放入,如果没有用到,可以忽略这句
cp $iec104_src/log4j.properties $iec104_class

# 如果原来在iec104目录下有jar报就删除掉,因为要生成新的
rm $iec104/iec104.jar
# 这里要cd到存放class的目录,否则如果采用绝对路径编译,编译出来的jar包里面就是绝对路径了,这样就会有问题
# jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF $iec104_class/*这样是错误的
cd $iec104_class
jar -cvfm $iec104/iec104.jar $iec104/MANIFEST.MF *
# 赋予可执行权限
sudo chmod a+x $iec104/iec104.jar
}

do_compile_iec104
exit 0

运行这个脚本(linux下)就可以编译并且在iec104的目录下就可以看到iec104.jar文件了。
这里补充下java命令的基本知识:
javac 用于编译Java文件,格式为:
java [options] [sourcefiles] [@files]
其中:
options:命令行选项;
sourcefiles:一个或多个要编译的源文件;
@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。
有几个比较重要的选项:
-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;
-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;
-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;
需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:
windows下文件路径分隔符用 ,文件列表分隔符用分号 ;
linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :

Ⅲ 自动编译脚本怎么写

MOV DX, OFFSET MSG1
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.

MOV AH, 1 ;1号功能调用,键入、显示.
INT 21H ;
CMP AL, '0'
JB ERR
CMP AL, '9'
JBE L1 ;小于等于9转移.
ERR:
MOV DX, OFFSET MSG3
MOV AH, 9 ;9号功能调用,显示提示.
INT 21H ;显示.

JMP EXIT
;------------------------------
L1:

Ⅳ 如何编写一个编译程序的脚本

Linux中我们安装软件或者一些常用操作,都会接触很多命令,有时在关键时刻往往因为忘了一些简单的命令而苦恼,这时,我们不妨把命令写成可执行的批量脚本,可以减少很多重复而又容易忘记的代码,写成一键脚本还有一个好处就是方便迁移,可以直接将写好的sh文件在其他Linux平台运行。
格式:
文件后缀.sh
第一行代码需要指定路径来执行程序
#!/bin/sh
#!/bin/bash

一般一键脚本会要求用户输入各种选项:
#提示“请输入姓名”并等待30秒,把用户的输入保存入变量name中
read -t 30 -p "请输入用户名称:" name
echo -e "\n"
echo "用户名为:$name"
#提示“请输入密码”并等待30秒,把用户的输入保存入变量age中,输入内容隐藏
read -t 30 -s -p "请输入用户密码:" age
echo -e "\n"
echo "用户密码为:$age"
#提示“请输入性别”并等待30秒,把用户的输入保存入变量sex中,只接受一个字符输入
read -t 30 -n 1 -p "请输入用户性别:" sex
echo -e "\n"
echo "性别为$sex"

Ⅳ 像这样的编译脚本是用什么工具制作的

编译环境是gcc 基于c语言 编译指令 make&&make install

Ⅵ 脚本是用各种语言编译的可执行一定功能的程序吗c语言也可以进行编译吗

不能
脚本是一些命令组合在一起的 是可以用文本编辑器查看的 脚本属于解释性语言 而C语言需要编译执行

Ⅶ 如何编译脚本

首先要了解什么是脚本? 脚本(Script),就是含有bind和alias等命令的集合,你可以把这个集合存为一个独立的文件然后在需要的时候执行,这样就可以方便你在CS中的使用。 脚本可以存为后缀名为.cfg的文件放在cstrike文件夹下,执行时在控制台输入:exec (脚本文件名).cfg 即可。比如将一个脚本存为buys.cfg文件,则在控制台中输入:exec buys.cfg则可以实现我们所需要的功能。要实现一个命令只要把这一过程定义(alias)好,并且分配一个键位给这个命令,以后只要按分配好的键位,就可以实现这一过程。所有的脚本都是通过这一方法实现的。 语句简介: 1. alias语句是参数赋值用,语法为alias 参数名 "数值" 2. bind语句为绑定命令,就是把某个alias赋值的参数绑到某个键。具体的语法为bind "键名" "参数名" 3. "buy"相当于按下"b"键; "buyequip"相当于按下"o"键; "menuselect x"就是对应购买菜单的号码。 举两个例子: * 你要买ak47,那你在开局时会按b-->4-->1, 对应的脚本就是buy; menuselect 4; menuselect 1;(中间用分号隔开) * 你要买手雷和1个闪光弹的话,那你在开局时会按o-->4,o-->3, 对应的脚本就是buyequip; menuselect 4; buyequip; menuselect 3; 注意bind键不能冲突,否则先bind的无效 什么是bind? Bind就是分配一个命令到指定的键,它同样能够分配一个alias到指定的键。 比如:bind "mouse1" " attack" 表示分配 attack(攻击)这个命令到指定的键mouse1(鼠标左键) 什么是alias? Alias就是给一组命令定义一个名称,当你定义过后,CS就认为此alias为一个普通的命令,你可以用bind命令分配一个键给这个alias,也可以在其他的alias中使用它。 比如:alias hw "say Hello World!" 则当你在控制台(console)中输入hw这条命令回车执行后,你就对服务器里所有的玩家说了"Hello World!"这句话。 你还可以用bind命令:bind "v" "hw" 当你按过v键后,你同样对服务器里所有的玩家说了Hello World!这句话。 又比如: alias buym "buy;menuselect 3;menuselect 1" //(注:相当于b-3-1) alias buyv "buy;menuselect 8;menuselect 1" //(注:相当于b-8-1) alias buysay "buym;buyv;hw" //(注:组合定义到一起) bind j "buysay" //(注:组合再定义到J键) 则表示当你执行buysay命令(注:按J键即可)后,购买MP5和普通防弹衣,然后对服务器里所有的玩家说Hello World!这句话。 此alias实现的方法为: 第一步执行buym命令,buym命令已经定义好为"打开购买菜单;选择菜单第3项;再选择菜单第1项",即实现了购买MP5的功能; 第二步执行buyv命令,buyv命令已经定义好为"打开购买菜单;选择菜单第8项;再选择菜单第1项",即实现了购买普通防弹衣的功能; 第三步执行之前已经定义好的hw命令:对服务器里所有的玩家说Hello World!这句话。 把这三步命令定义为一个新的命令buysay,然后用bind命令分配一个键给这个新的命令,则当你按下j键后就实现了这三步命令的功能。 注意: alias语句在Half-Life Counter-Strike里不能超过259个字符即下面这行字符的长度(一般也超不到这里来的)

Ⅷ makefile.bat编译文件的脚本

edit : main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
cc -o edit main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o

main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
command.o : command.c defs.h command.h
cc -c command.c
display.o : display.c defs.h buffer.h
cc -c display.c
insert.o : insert.c defs.h buffer.h
cc -c insert.c
search.o : search.c defs.h buffer.h
cc -c search.c
files.o : files.c defs.h buffer.h command.h
cc -c files.c
utils.o : utils.c defs.h
cc -c utils.c
clean :
rm edit main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o

Ⅸ window脚本怎么编辑、编译及运行

编辑:一般的文本编辑软件都可以 UE 等等
编译:脚本不需要编译
运行:命名为bat格式的 ,在windows 命令行里直接执行编辑好的文件

比如
echo this is a test script。

Ⅹ 如何在windows下编译执行python脚本

安装pythont程序
然后直接双击python文件即可
不过要确定一下python脚本的版本是py2还是py3
安装相应的软件版本

热点内容
聚会编程题 发布:2024-05-04 04:02:41 浏览:404
我的世界服务器自动扫地 发布:2024-05-04 03:48:41 浏览:611
4500能配什么电脑配置 发布:2024-05-04 03:22:29 浏览:591
阿U编程课堂 发布:2024-05-04 03:10:23 浏览:618
上传音乐搜音乐 发布:2024-05-04 03:10:23 浏览:600
编译器工作负载 发布:2024-05-04 03:06:09 浏览:422
摩斯编译 发布:2024-05-04 03:06:00 浏览:613
源码得反码 发布:2024-05-04 03:05:18 浏览:753
手机搜狐怎么上传视频 发布:2024-05-04 02:50:54 浏览:75
存储卡那里有卖 发布:2024-05-04 02:45:42 浏览:968