你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
funcfile.rar
2014-11-5 17:57 上传
点击文件名下载附件
8.41 KB, 下载次数: 200
举报
suyong_yq 发表于 2014-11-7 00:02 用C语言写,跨平台会有点问题,不如直接用Python等脚本搞定。还有,如果能自动生成工程文件就更好了。 ...
goswa 发表于 2014-11-7 09:30 源代码已经提供,全部是基于C标准库,要移植到其它平台只需要重新编译一下就行了。 ...
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器
/*代码工厂创建,未经作者许可,不可复制、更改*/
/*代码作者:代码工厂*/
/*创建时间:2014年11月5日18时37分33秒*/
#include "1.h"
/*== file: 1.h ==*/
/*代码工厂创建,未经作者许可,不可复制、更改*/
/*代码作者:代码工厂*/
/*创建时间:2014年11月5日18时37分33秒*/
#ifndef 1_H_
#define 1_H_
#include "project.h"
#ifdef __cplusplus
extern "C"{
#endif
#ifdef __cplusplus
}
#endif
#endif
这有啥用?
我们在写程序的时候,为了提高程序可读性,都会将不同功能模块归类到不同的 *.c(函数体) *.h(头文件),比如说要写一个串口功能模块的文件,生成过程如附件所示,针对生成内容再附加下列解释:
/*== file: uart1.h ==*/
/*代码工厂创建,未经作者许可,不可复制、更改*/
/*代码作者:代码工厂*/
/*创建时间:2014年11月5日21时31分35秒*/
#ifndef UART1_H_
#define UART1_H_
#include "project.h" //默认的工程配置文件头
#ifdef __cplusplus //增加此宏定义后可被C++调用,否则部分C++编译器不能正常调用C函数
extern "C"{
#endif
void Uart1_Init( void ); //默认的功能模块初始化函数
//用户可以在此增加其它的全局函数
#ifdef UART1_DEF
//在此定义全局变量 比如 int Uart_Flag;
#else
//在定义extern全局变量,增加extern定义 比如 extern int Uart_Flag;
#endif
#ifdef __cplusplus
}
#endif
#endif
/*== file: uart1.c ==*/
/*代码工厂创建,未经作者许可,不可复制、更改*/
/*代码作者:代码工厂*/
/*创建时间:2014年11月5日21时31分35秒*/
#define UART1_DEF
#include "uart1.h"
//===============================================
//--函数名称:Uart1_Init
//--函数说明:Uart1初始化函数
//===============================================
void Uart1_Init( void )
{
;
}
//上述全是代码工具自动生成的代码
当然,这只是个人觉得一个不错的代码编写习惯了。如要新增一个功能模块,要手写两个重复率比较高的文件还是比较费精力的,这种活可以交给计算机来干最好了。
源代码已经提供,全部是基于C标准库,要移植到其它平台只需要重新编译一下就行了。
除非是商业级的软件发布,对于用户来讲,编译都是一件麻烦的事情。用户除了关注功能外,不会愿意把时间花在不相干的细节上,如果编译出了问题,还要纠结debug的事情。所以,现在开源的上位机软件大部分都是用脚本搞定的。当然,这也只是个人的看法,能做点小东西,楼主还是很厉害的,赞。