龙空技术网

MT5,外汇,人工神经网络,编程,EA,简洁之1.3「预处理的定义」

杜财发 110

前言:

如今各位老铁们对“未定义标识符是什么意思”可能比较珍视,姐妹们都需要剖析一些“未定义标识符是什么意思”的相关文章。那么小编也在网络上网罗了一些关于“未定义标识符是什么意思””的相关资讯,希望小伙伴们能喜欢,同学们快快来学习一下吧!

1.#define//常量声明宏定义, #undef//指令取消宏替换声明

常量声明:

#define ABC 100 //声明

#define TWO 2 //声明

#define INCOMP ABC+TWO //声明

Print(ABC); //输出 100

Print(INCOMP); //输出 102

宏定义:

// a和b两个参数的示例

#define A 2

#define B 5

#define MUL(a, b) a*b

double c=MUL(A,B); =》c=a*b;=》c=2*5;

Print("c=",c);

// 输出

// c=10

取消宏替换声明:

#define ABC 100 //声明

#undef ABC //取消声明

#define ABC 200 //声明

Print(ABC); //输出 200

2.#property//程序属性,用与EA启动时显示,如图

#property copyright "版权"

#property link " ;

#property version "1.00"

#property description "描述例子"

3.#include //包括文件,如库文件

#include <WinUser32.mqh> //到系统设置目录搜索

#include "mylib.mqh" //当前目录搜索

4.#import //输入函数

结构 :

#import "file_name" //开始

func1 define;

func2 define;

...

funcN define;

#import //结束

例子:

#import "stdlib.ex5"

string ErrorDescription(int error_code);

int RGB(int red_value,int green_value,int blue_value);

#import "user32.dll"

int MessageBoxW(uint hWnd,string lpText,string lpCaption,uint uType);

#import

void OnStart()

{

MessageBoxW(0,"内容","对话框",MB_OK|MB_ICONINFORMATION);

}

5.#ifdef, #ifndef, #else, #endif //条件编译

结构 :

#ifdef identifier

// 如果#define指令已经为预处理器定义标识符那么就会编译位于这里的代码。

#endif

#ifndef identifier

// 如果#define预处理器指令当前没有定义标识符则编译位于这里的代码。

#endif

例子 :

#define TestMode

void OnStart()

{

#ifdef TestMode

Print("Test mode");

#else

Print("Normal mode");

#endif

...持续更新...

标签: #未定义标识符是什么意思