让java文件支持C语言预编译指令
来源:互联网 发布:java weka bp神经网络 编辑:程序博客网 时间:2024/06/03 04:58
让java文件支持C语言预编译指令
一.运行环境
1.ubuntu
2.ubuntu中必须已安装:gcc,awk,sed (目前大家的机器都支持)
二.安装环境
1.把脚本gcc2java.sh 放在工程目录下。比如:./gcc2javateset/gcc2java.sh
2.在工程目录下建一个文件夹include,include目录下放C语言头文件。比
如:./gcc2javateset/include
三.GCC文件
1.概述:gcc文件是java文件的一种扩展文件,在gcc文件里面既可以使用C语言预编译指令又可
以使用java编程语言。
2.格式:
第一行:<?gcc version="1.0" encoding="utf-8"?> 标识该文件为gcc文件
注:第一行必须有该标识且“<?”前面不许有空格.
例如:
四.编译
1.如果我们不需要使用gcc文件参与编译,则编译步骤和以前一样。
2.如果我们想让gcc文件参与编译,则步骤如下:
A.执行脚本gcc2java.sh 。作用:把gcc文件转换为我们需要的java文件
注:当我们想转换特定的某个文件夾中的gcc文件时,我们执行:gcc2java.sh 文件夹路径
B.把.\out\src 覆盖掉工程中的src 。转换后的文件都在.\out
C.开始编译工程
五.gcc2java.sh 源码
#!/bin/sh#11-12-03 to java support Ccheckcommand(){ if [ $1 -eq 0 ]; then echo $2 else echo ".....fail...." exit fi}gcc2java(){ echo echo echo "***************************************" echo "***************************************" echo "*******XXX.GCC ----> XXX.JAVA*********" echo "*** help: gcc2java.sh dirpath ****" echo "*** V1.0 author:mingli date:11.12.04 *" echo "***************************************" echo "***************************************" echo "Please wait for a few minutes.........." echo rm -rf out mkdir out mkdir out/temp cp -rf $1 ./out/ #判断拷贝是否成功 checkcommand $? $1 dir=$(echo $1 | awk -F/ '{print $NF}') echo $dir if [ -z $dir ];then dir=$(echo $1 | awk -F/ '{print $(NF-1)}') echo $dir fi chmod +wxr -R ./out/ for file in $(find ./out/$dir -name "*.gcc") do echo $file #echo ${file%.*}.tmp gcc -x c -E -C -w $file -I ./include > ${file%.*}.tmp cp -rf ${file%.*}.tmp ./out/temp #删除从第一行到<?gcc ?>行 sed -e 1,`sed -n '/^<?gcc*/=' ${file%.*}.tmp`d ${file%.*}.tmp > ${file%.*}.tmp0 #删除由预编译产生的“# XXX”行 sed '/^# [0-9]\{1,\} \"*/'d ${file%.*}.tmp0 > ${file%.*}.java rm -rf ${file%.*}.tmp* done #判断程序是否运行成功 checkcommand $? success}if [ $# -eq 0 ]; then gcc2java ./srcelif [ $# -eq 1 ]; then gcc2java $1else echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" echo "!!Please input the true parameters!!" echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"fi
- 让java文件支持C语言预编译指令
- C语言预编译指令
- C语言预编译指令
- C 语言预编译指令
- C语言中的预编译指令
- C语言中的预编译指令
- C语言预编译指令的用法
- C语言之预编译指令
- c语言预编译指令有哪些?
- C语言几个预编译指令的用法
- C语言几个预编译指令的用法
- C语言几个预编译指令的用法
- c语言里一些常用的预编译指令
- 【C语言疯狂讲义】(十四)预编译指令
- C语言几个预编译指令的用法
- 聊聊C语言的预编译指令include
- 20170214C语言提升07_预编译指令
- C语言学习之预编译指令#include详解
- 合并两个有序数组
- zip文件解压
- silverlight学习:RichTextBox[转]
- VB.NET 开发中遇到的兼容性检查问题
- Linux查看命令大全
- 让java文件支持C语言预编译指令
- 单链表的建立与输出
- apache 2配置
- ASP.NET之基础概念——委托
- 乐观锁和悲观锁
- How to: Access a Duplex Service
- linux基础之教你如何查看linux版本
- SAP ScriptForms 教程系列一
- Oracle定时全库备份的bat方式