工作中需要将MT4的数据读取并且存储到Redis数据库中去,同时MT4读取Redis当中的数据用于下单的切换账户。 MT4支持使用MQL进行开发,通过调用标准的系统DLL实现系统调用,因此技术实现并不是太难,只需要按MQL的接口要求编写相应的CPP代码 编译成DLL即可实现所需要的功能。 在Windows平台上,连接Redis的客户端选用Hiredis作为连接客户端lib。
Tag Archives: C++
w_char*和char *转换宽窄字符
w_char*和char*在windows编程过程中进行转换是经常需要的,通常由互联网我们取到都是utf-8编码,到windows应用程序里面却需要用unicode编码。 一开始用stdlib.h 下wcstombs_s和mbstowcs_s的代码实现,发现总是转换失败和出错。 char 转 WCHAR 、wchar_t、LPWSTR ,窄字符转宽字符,C++代码 //+——————————————————————+ //| char to WCHAR 、wchar_t、LPWSTR etc | //+——————————————————————+ static char* WStr2CStr(const wchar_t* WStr) { // 长度设置 size_t len = wcslen(WStr) + 1; size_t converted = 0; // 准备转换的对象 char *CStr; CStr=(char*)malloc(len*sizeof(char)); // 转换 wcstombs_s(&converted, CStr, len, WStr, _TRUNCATE); // 返回 return CStr; }
[iOS]Makefile交叉编译静态库TA-lib
为了使Cocoa-Charts支持客户端数据计算,需要为Cocoa-Charts增加技术分析数据计算功能,目前比较通用的是TA-lib,但是TA-lib没有提供iOS版本的静态库文件,因此需要在X86平台上交叉编译适用于iPhone模拟器和iPhone真机的TA-lib静态库,用于调试和开发iOS应用程序,使TA-lib支持ARMv7 ARMv7s i386等系统架构的多种iPhone机型或模拟器。
[iOS]Xcode5下使用Makefile编译找不到GCC
Xcode5已经完全抛弃了GCC并切换到LLVM,但并不是完全去除GCC,只是对GCC等编译相关执行文件的位置进行了调整, 如果之前使用的是使用Makefile方式命令行编译iOS APP的话,Xcode4.6下编写的脚本可能会无效,需要对GCC的执行文件路径进行调整。 调整内容如下 Xcode4.6之前: /Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/usr/bin Xcode5.0: /Applications/Xcode.app/Contents/Developer/usr/bin
iOS开发之Objective-c几种不同的随机数算法(arc4random,random,srandom)
Objective-c并没有直接提供随机数据生成的函数或方法,不过我们可以直接利用c的各种随机算法 以下是几种常见的随机数算法的使用,可以参照以下头文件 stdlib.h arc4random 不需要随机种子,在调用时自动生成随机种子 返回[0,X)的集合 int value = arc4random() % x; 返回[1,X]的集合 int value = (arc4random() % x) + 1;
使用递归位运算实现对字节的中心转置反转
字节的中心转置反转,这是一道的IBM技术面试题,供参考 原题如下: 给定一个任意字节长度的数据(以一个Byte为例),要求实现数据的位中心翻转, 也就是数据的对称位数据交换,比如: 1010 1100 -> 0011 0101 1111 1111 -> 1111 1111 0000 0000 -> 0000 0000 1111 0000 -> 0000 1111 解题思路也很简单,只要使用位运算实现以下的位变化即可,但是需要考虑到其他 位的情况,注意运算符的使用即可,IBM不愧是IBM 11 – > 11 00 – > 00 10 – > 01 01 – > 10
求二维数组的全排列组合,二位数组的自乘积问题
CG在ETP基地的培训也有一段时间了,这期间也有几次考试,下面将要分享的是最近一次笔试的考试题目,该题算是JAVA考试的附加题,要求也很简单,下面是原题 二维数组的长度和初始值均由输入确定,如何求出此数组的全排列组合, 即:int a[X][X] = {{X,X,X},…}如下 int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}} 或者是 int a[4][4] = {{1,2,3,4},{4,5,6,7},{7,8,9,10}} 计算a[3][3]的结果如下: 147,148,149 157,158,159 167,168,169 247,248,249 …………