通过shell脚本生成C代码例程
2016-08-16 10:29
435 查看
通过shell脚本生成C代码例程:
#!/bin/sh
target=$1
BUILDER_VERSION_BRANCH=${VERSION_BRANCH}
BUILDER_VERSION_MAJOR=${VERSION_MAJOR}
BUILDER_VERSION_MINOR=${VERSION_MINOR}
BUILDER_VERSION_EXTRA=${VERSION_EXTRA}
BUILDER_VERSION_REVNO=${VERSION_REVNO}
BUILDER_VERSION_STAGE=${VERSION_STAGE}
BUILDER_CMPL_YEAR=`date +%Y | sed -e 's/^0//g'`
BUILDER_CMPL_MONTH=`date +%m | sed -e 's/^0//g'`
BUILDER_CMPL_DATE=`date +%d | sed -e 's/^0//g'`
BUILDER_CMPL_TIME="`date +%T`"
echo "/* Automatically generated file; DO NOT EDIT. */" > $target
echo "char *builder_version_branch(void)" >> $target
echo "{" >> $target
echo " return \"${BUILDER_VERSION_BRANCH}\";" >> $target
echo "}" >> $target
echo "unsigned int builder_version_major(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_MAJOR};" >> $target
echo "}" >> $target
echo "unsigned int builder_version_minor(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_MINOR};" >> $target
echo "}" >> $target
echo "unsigned int builder_version_extra(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_EXTRA};" >> $target
echo "}" >> $target
echo "unsigned int builder_version_revno(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_REVNO};" >> $target
echo "}" >> $target
echo "char *builder_version_stage(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_STAGE};" >> $target
echo "}" >> $target
echo "unsigned int builder_cmpl_year(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_CMPL_YEAR};" >> $target
echo "}" >> $target
echo "unsigned int builder_cmpl_month(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_CMPL_MONTH};" >> $target
echo "}" >> $target
echo "unsigned int builder_cmpl_date(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_CMPL_DATE};" >> $target
echo "}" >> $target
echo "char *builder_cmpl_time(void)" >> $target
echo "{" >> $target
echo " return \"${BUILDER_CMPL_TIME}\";" >> $target
echo "}" >> $target
执行上面的shell。
./builder.sh abc.c
生成一下C代码:
/* Automatically generated file; DO NOT EDIT. */
char *builder_version_branch(void)
{
return "";
}
unsigned int builder_version_major(void)
{
return ;
}
unsigned int builder_version_minor(void)
{
return ;
}
unsigned int builder_version_extra(void)
{
return ;
}
unsigned int builder_version_revno(void)
{
return ;
}
char *builder_version_stage(void)
{
return ;
}
unsigned int builder_cmpl_year(void)
{
return 2016;
}
unsigned int builder_cmpl_month(void)
{
return 8;
}
unsigned int builder_cmpl_date(void)
{
return 16;
}
char *builder_cmpl_time(void)
{
return "10:26:48";
}
#!/bin/sh
target=$1
BUILDER_VERSION_BRANCH=${VERSION_BRANCH}
BUILDER_VERSION_MAJOR=${VERSION_MAJOR}
BUILDER_VERSION_MINOR=${VERSION_MINOR}
BUILDER_VERSION_EXTRA=${VERSION_EXTRA}
BUILDER_VERSION_REVNO=${VERSION_REVNO}
BUILDER_VERSION_STAGE=${VERSION_STAGE}
BUILDER_CMPL_YEAR=`date +%Y | sed -e 's/^0//g'`
BUILDER_CMPL_MONTH=`date +%m | sed -e 's/^0//g'`
BUILDER_CMPL_DATE=`date +%d | sed -e 's/^0//g'`
BUILDER_CMPL_TIME="`date +%T`"
echo "/* Automatically generated file; DO NOT EDIT. */" > $target
echo "char *builder_version_branch(void)" >> $target
echo "{" >> $target
echo " return \"${BUILDER_VERSION_BRANCH}\";" >> $target
echo "}" >> $target
echo "unsigned int builder_version_major(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_MAJOR};" >> $target
echo "}" >> $target
echo "unsigned int builder_version_minor(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_MINOR};" >> $target
echo "}" >> $target
echo "unsigned int builder_version_extra(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_EXTRA};" >> $target
echo "}" >> $target
echo "unsigned int builder_version_revno(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_REVNO};" >> $target
echo "}" >> $target
echo "char *builder_version_stage(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_VERSION_STAGE};" >> $target
echo "}" >> $target
echo "unsigned int builder_cmpl_year(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_CMPL_YEAR};" >> $target
echo "}" >> $target
echo "unsigned int builder_cmpl_month(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_CMPL_MONTH};" >> $target
echo "}" >> $target
echo "unsigned int builder_cmpl_date(void)" >> $target
echo "{" >> $target
echo " return ${BUILDER_CMPL_DATE};" >> $target
echo "}" >> $target
echo "char *builder_cmpl_time(void)" >> $target
echo "{" >> $target
echo " return \"${BUILDER_CMPL_TIME}\";" >> $target
echo "}" >> $target
执行上面的shell。
./builder.sh abc.c
生成一下C代码:
/* Automatically generated file; DO NOT EDIT. */
char *builder_version_branch(void)
{
return "";
}
unsigned int builder_version_major(void)
{
return ;
}
unsigned int builder_version_minor(void)
{
return ;
}
unsigned int builder_version_extra(void)
{
return ;
}
unsigned int builder_version_revno(void)
{
return ;
}
char *builder_version_stage(void)
{
return ;
}
unsigned int builder_cmpl_year(void)
{
return 2016;
}
unsigned int builder_cmpl_month(void)
{
return 8;
}
unsigned int builder_cmpl_date(void)
{
return 16;
}
char *builder_cmpl_time(void)
{
return "10:26:48";
}
相关文章推荐
- 通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
- Unity3d 通过json文件使用C#脚本代码生成多个相机
- 通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
- 通过Git WebHooks+脚本实现自动更新发布代码之Shell脚本(二)
- 通过shell脚本删除代码里面定义但未使用的变量
- 通过shell脚本查找代码工程中的指定字段
- 通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
- 通过Java代码执行shell命令/脚本
- shell脚本在日常工作中的使用--辅助生成代码
- 页面因脚本代码中含有特殊字符未能通过W3C校验的解决方法
- 【qtp脚本】实现自动创建目录并通过测试写字板生成指定个数的文件
- Asp.Net Table控件动态生成表格操作实例(代码调试通过)
- shell脚本在编译工程代码时候的使用
- 如何通过VIM把代码格式化后生成HTML网页代码
- 通过文档事件处理程序引入JavaScript脚本代码实例
- 完整的通过ShellAPI枚举桌面目录的代码
- shell 代码 进程监控脚本,拉起core dump的服务器进程,以维持服务稳定
- 查看索引信息与生成创建索引脚本代码(转自perfectaction)
- 将C++代码全部写到头文件:)python脚本帮助自动生成相应的实现文件初始框架
- 使用MyGeneration 1.3.0.3生成C#代码的脚本