//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下的控件实现(一、公共的宏定义)相关推荐

  1. mre下的控件实现(二、Widget基础类)

    //widget.h 所有控件的基类 //mre本身只有简单的GDI函数,没有控件,在mre里写应用都 //要自己实现自己的control,这里把control的基类widget实现了. #ifnde ...

  2. mre下的控件实现(四、Button使用)

    这里有一个实例使用(一.实现)中的按钮控件,达到的效果如下图所示, 用mre sdk(这里使用的是mre sdk 2.5版本)创建一个工程,工程名为mtid(实际上这个是我要在做一个工具). //生成 ...

  3. mre下的控件实现(三、Button实现)

    实现button控件,其他控件类此写便是了. //button.h 按钮控件#ifndef __BUTTON_H__ #define __BUTTON_H__#include "widget ...

  4. 刷新后控制TAB键到下一个控件

    页面上的控件能一直TAB下去,这是系统的一个很基本的要求.在网上没有搜索到相关的方法.我觉得一般做法都是使页面无刷新,但是如果遇到页面不得不刷新的情况,如何去控制呢?    思路是很简单的,首先是获取 ...

  5. MFC下列表控件的使用

    MFC下列表控件的使用 2012-11-09 16:46:57|  分类: 程序VC相关 |  标签: |字号大中小 订阅 1.应该加入头文件 #include <Atlbase.h> 2 ...

  6. 自定义可扩展叠加头部的下拉控件

    最近写了个下拉控件,和几个下拉的头部样式,下拉控件可以连续添加叠加几个头部视图 下面是没有添加任何头部尾部的视图下拉效果 一步一步来介绍,先介绍这个下拉效果,在介绍自定义的头部 首先在使用上,和普通的 ...

  7. 【GIS开发】VB6.0下MO控件的安装:安装教程及MO破解教程(MapObjects2.x)

    [GIS开发]VB6.0下MO控件的安装:安装教程及MO破解教程(MapObjects2.x) 基于MO和VB的GIS开发过程中,普遍使用的还是2.0及以上版本,ESRI公司早已不再对MO组件进行更新 ...

  8. ASP.NET控件中回车自动跳转至下指定控件

    登陆框默认按回车不能自动跳转至下一控件,只能跳转至CLICK事件,输入很不舒服,所以做了如下改动: HTML 用户名:<input type="text" id=" ...

  9. html下拉框 multiple,多选下拉控件的使用(select-option)multiple-select

    多选下拉控件的使用(select-option) 1.第一个组件是写bootstrap table的主人公 2.第二个组件 本篇中使用的是第一个控件来实现多选下拉框: 首先引入支持文件 multipl ...

最新文章

  1. 循序渐进:带你理解什么是Java内存模型
  2. Kotlin 在kotlin内使用Java的一些注意(长篇)
  3. 安装phpredis扩展以及phpRedisAdmin工具
  4. Discovery CentOS6.4 issue
  5. VTK:图表之ConstructGraph
  6. 【转载】Kafka介绍及升级经验分享
  7. org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role:no sessi
  8. Android的手势交互
  9. es数据频繁的更新_es之文档更新过程中并发冲突问题
  10. java super用法_Java基础面试题汇总
  11. linux内核重要结构体,Linux中list_head结构体相关 | 技术部落
  12. Vue调试神器vue-devtools - 插件下载安装
  13. 运筹优化(十九)--决策论基础及其最优化求解
  14. 打造自己的VC++ 6.0免安装简版
  15. python怎么开发服务器_Python服务器开发(1)
  16. 中国现在开源系统cms 论坛排行榜
  17. 极好的搜索引擎: Goolgle 本网站和www搜索插件
  18. 微博舆情 之 热点话题分析
  19. 双十一有哪些电容笔值得买?平板电脑第三方电容笔推荐
  20. 金蝶中间件会展邀请函(活动日期:2001年12月12日)

热门文章

  1. 3D视觉:为工业机器人配备一双“火眼金睛”
  2. C++随记之模板(黑马程序员学习笔记)
  3. B015 - 电阻电容电感检测仪
  4. 汇编语言error A2044: invalid character in file
  5. TomcatHttp协议
  6. Android系统设置单双卡
  7. C语言 单双链表实现
  8. Go项目实现优雅关机与平滑重启
  9. 新手摆摊进来看看(明确卖什么很关键)
  10. 做什么副业比较赚钱,这五个项目现在入行可能比上班挣得还多