内置宏和预编译指令, 在代码调试、单元测试、跨平台代码中经常会用到。这里记录一下。 1. 内置宏 (文件名,当前行号,当前日期,当前时间,当前执行方法名) __FILE____LINE____DATE____TIME__ __FUNCTION__ 2.预编译指令 可以防止头文件被多次引用 可以方便解 ...
分类:
编程语言 时间:
2017-04-02 10:27:05
阅读次数:
224
定义宏 添加预编译指令(宏) 添加一个名为Test的宏 此时这段代码是无法执行的 1 2 3 4 5 6 public void Start() { #if Test //.. you code here #endif } 使定义的宏可用 找到 Build Setting > PlayerSetti ...
分类:
其他好文 时间:
2017-02-05 16:36:37
阅读次数:
138
第二部分 静态链接 被隐藏了的过程:预处理、编译、汇编、链接(Build过程 在IDE中) 预编译: 源代码hello.cpp和相关头文件(stdio.h)被预编译器cppp预编译成一个.i文件。 预编译命令: 过程:预编译主要处理那些源代码中的以'#'开始的预编译指令。比如“#include” " ...
分类:
其他好文 时间:
2017-01-15 11:40:07
阅读次数:
202
通常我们在生成可执行文件时,使用一条gcc命令就可以了。但是这其中包含了以下几个过程。 1.预编译(preprocess) 预编译过程主要是处理源代码中以#开头的预编译指令。如宏的处理,头文件的包含,注释删除,加入行号和文件名标识以使在编译时,编译器产生编译错误和警告时显示行号。 gcc -E he ...
分类:
其他好文 时间:
2016-12-14 01:39:03
阅读次数:
137
`timescale是Verilog HDL 中的一种时间尺度预编译指令,它用来定义模块的仿真 时的时间单位和时间精度。格式如下: `timescale 仿真时间单位/时间精度 注意:用于说明仿真时间单位和时间精度的 数字只能是1、10、100,不能为其它的数字。而且,时间精度不能比时间单位还要大。 ...
分类:
其他好文 时间:
2016-11-06 20:14:34
阅读次数:
144
#pragma 预编译指令的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。 其使用的格式一般为: #pragma Para。其中Para 为参数,常见的参数如下: (1)M ...
分类:
编程语言 时间:
2016-10-07 23:18:48
阅读次数:
265
预处理过程时,会做以下事情或着更多: 将所有的#define删除,并且展开所有的宏定义; 处理所有条件编译指令,如#if,#ifdef等; 处理#include预编译指令,将被包含的文件插入到该预编译指令的位置。该过程递归进行,及被包含的文件可能还包含其他文件。 删除所有的注释//; 添加行号和文件... ...
分类:
其他好文 时间:
2016-09-29 17:52:47
阅读次数:
192
SQLSERVER编译与重编译 编译的含义 当SQLSERVER收到任何一个指令,包括查询(query)、批处理(batch)、存储过程、触发器(trigger) 、预编译指令(prepared statement)和动态SQL语句(dynamic SQL Statement)要完成语法解释、语句解 ...
分类:
数据库 时间:
2016-09-24 08:11:20
阅读次数:
230
标记了Conditional特性的函数,相当于#if ....预编译指令 比如上述代码可以达到只在编辑器下可用的效果,为了测试编译,打包了一下 结果编辑器下有创建Cube,打包后的exe没有。也没有函数丢失报错,可见是对函数体内部内容进行了屏蔽 但使用要求比较苛刻,函数本身不能有返回值,且不能是重写 ...
分类:
其他好文 时间:
2016-07-23 00:49:13
阅读次数:
545
工作中遇到的: 一个头文件中的: #pragma warning(disable:4996)#pragma warning(disable:4244)#pragma warning(disable:4267) 不理解意思,遂查? C/C++中的预编译指令 程序的编译过程可以分为预处理、编译、汇编三部 ...
分类:
编程语言 时间:
2016-07-01 18:19:58
阅读次数:
212