mre下的控件实现(一、公共的宏定义)
//typedef.h一些公共的宏定义#ifndef __TYPEDEF_H__
#define __TYPEDEF_H__#include "vmlog.h"
#include "vmgraph.h"
#include "vmio.h"#define LOG_FILE "E:\\mre\\MtidLog.txt"void* wbh_malloc(int size);
void wbh_free(void* ptr);
void wbh_write(char* path, char* mode, char* buf);#define WBH_MALLOC(size) wbh_malloc(size);
#define WBH_FREE(ptr) wbh_free(ptr); ptr = NULL;#ifdef __cplusplus#define DECLS_BEGIN extern "C" {#define DECLS_END }
#else#define DECLS_BEGIN#define DECLS_END
#endif#ifdef __arm#define _INLINE_ __inline
#elif defined(_MSC_VER)#define _INLINE_ // vc c language compiler not support inline
#endif#ifdef __arm#define _WBH_FILENAME_ __MODULE__#define _WBH_FUNC_ __func__#define _WBH_LINE_ __LINE__
#elif defined(_MSC_VER)#define _WBH_FILENAME_ __FILE__#define _WBH_LINE_ __LINE__#if (_MSC_VER > 1200)#define _WBH_FUNC_ __FUNCTION__ /* VS2003,2005,2008 etc */#else#define _WBH_FUNC_ "" /* vc6 no support _FUNCTION_ */#endif
#endif#define return_if_fail(v) if(!v)\
{\vm_log_info("%s line:%d failed.\n", _WBH_FILENAME_, _WBH_LINE_);\return;\
}#define return_val_if_fail(v,r) if(!v)\
{\vm_log_info("%s line:%d failed.\n", _WBH_FILENAME_, _WBH_LINE_);\return r;\
}#endif /*__TYPEDEF_H__*///typedef.c 几个公共函数
#include "typedef.h"void* wbh_malloc(int size)
{void* ptr = NULL;ptr = vm_malloc(size);if(NULL != ptr)memset(ptr, 0, size);return ptr;
}void wbh_free(void* ptr)
{vm_free(ptr);
}void wbh_write(char* path, char* mode, char* buf)
{VMWCHAR w_path[256] = {0};VMFILE file_handle = -1;VMINT m = MODE_CREATE_ALWAYS_WRITE;VMUINT file_size = 0;vm_gb2312_to_ucs2(w_path, 256, path);if(0 == strcmp(mode, "w"))m = MODE_CREATE_ALWAYS_WRITE;else if(0 == strcmp(mode, "a"))m = MODE_APPEND;file_handle = vm_file_open(w_path, m, FALSE);if(file_handle < 0){file_handle = vm_file_open(w_path, MODE_CREATE_ALWAYS_WRITE, FALSE);}if(file_handle < 0){return;}if(m = MODE_APPEND){VMINT ret = -1;ret = vm_file_getfilesize(file_handle, (VMUINT *)&file_size);if(ret != 0){vm_file_close(file_handle);return;}ret = vm_file_seek(file_handle, file_size, BASE_BEGIN);}vm_file_write(file_handle, buf, strlen(buf), &file_size);vm_file_close(file_handle);}
转载于:https://www.cnblogs.com/WIT-Evan/archive/2012/08/07/7291484.html
mre下的控件实现(一、公共的宏定义)相关推荐
- mre下的控件实现(二、Widget基础类)
//widget.h 所有控件的基类 //mre本身只有简单的GDI函数,没有控件,在mre里写应用都 //要自己实现自己的control,这里把control的基类widget实现了. #ifnde ...
- mre下的控件实现(四、Button使用)
这里有一个实例使用(一.实现)中的按钮控件,达到的效果如下图所示, 用mre sdk(这里使用的是mre sdk 2.5版本)创建一个工程,工程名为mtid(实际上这个是我要在做一个工具). //生成 ...
- mre下的控件实现(三、Button实现)
实现button控件,其他控件类此写便是了. //button.h 按钮控件#ifndef __BUTTON_H__ #define __BUTTON_H__#include "widget ...
- 刷新后控制TAB键到下一个控件
页面上的控件能一直TAB下去,这是系统的一个很基本的要求.在网上没有搜索到相关的方法.我觉得一般做法都是使页面无刷新,但是如果遇到页面不得不刷新的情况,如何去控制呢? 思路是很简单的,首先是获取 ...
- MFC下列表控件的使用
MFC下列表控件的使用 2012-11-09 16:46:57| 分类: 程序VC相关 | 标签: |字号大中小 订阅 1.应该加入头文件 #include <Atlbase.h> 2 ...
- 自定义可扩展叠加头部的下拉控件
最近写了个下拉控件,和几个下拉的头部样式,下拉控件可以连续添加叠加几个头部视图 下面是没有添加任何头部尾部的视图下拉效果 一步一步来介绍,先介绍这个下拉效果,在介绍自定义的头部 首先在使用上,和普通的 ...
- 【GIS开发】VB6.0下MO控件的安装:安装教程及MO破解教程(MapObjects2.x)
[GIS开发]VB6.0下MO控件的安装:安装教程及MO破解教程(MapObjects2.x) 基于MO和VB的GIS开发过程中,普遍使用的还是2.0及以上版本,ESRI公司早已不再对MO组件进行更新 ...
- ASP.NET控件中回车自动跳转至下指定控件
登陆框默认按回车不能自动跳转至下一控件,只能跳转至CLICK事件,输入很不舒服,所以做了如下改动: HTML 用户名:<input type="text" id=" ...
- html下拉框 multiple,多选下拉控件的使用(select-option)multiple-select
多选下拉控件的使用(select-option) 1.第一个组件是写bootstrap table的主人公 2.第二个组件 本篇中使用的是第一个控件来实现多选下拉框: 首先引入支持文件 multipl ...
最新文章
- 循序渐进:带你理解什么是Java内存模型
- Kotlin 在kotlin内使用Java的一些注意(长篇)
- 安装phpredis扩展以及phpRedisAdmin工具
- Discovery CentOS6.4 issue
- VTK:图表之ConstructGraph
- 【转载】Kafka介绍及升级经验分享
- org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role:no sessi
- Android的手势交互
- es数据频繁的更新_es之文档更新过程中并发冲突问题
- java super用法_Java基础面试题汇总
- linux内核重要结构体,Linux中list_head结构体相关 | 技术部落
- Vue调试神器vue-devtools - 插件下载安装
- 运筹优化(十九)--决策论基础及其最优化求解
- 打造自己的VC++ 6.0免安装简版
- python怎么开发服务器_Python服务器开发(1)
- 中国现在开源系统cms 论坛排行榜
- 极好的搜索引擎: Goolgle 本网站和www搜索插件
- 微博舆情 之 热点话题分析
- 双十一有哪些电容笔值得买?平板电脑第三方电容笔推荐
- 金蝶中间件会展邀请函(活动日期:2001年12月12日)