利用__func__预定义标识符来获取函数方法
在做项目时,有时会需要在调用函数时做下记录函数名,这样可以在找问题时更方法。
哪C++用什么方法来获取函数名?
C++程序源代码被编译之前,由预处理器(Preprocessor)对C++程序源代码进行的处理。
在做项目时,有时会需要在调用函数时做下记录函数名,这样可以在找问题时更方法。
哪C++用什么方法来获取函数名?
#undef命令取消一个先前已定义的宏变量, 譬如一个用#define定义的变量.
#error命令是C/C++语言的预处理命令之一,当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息。
__FILE__用以指示本行语句所在源文件的文件名,举例如下(1.cpp):
本命令包含一个文件并在当前位置插入.两种语法的主要不同之处是在于,如果filename括在尖括号中,那么编译器不知道如何搜索它.如果它括在引号中,那么编译器可以简单的搜索到文件.两种搜索的方式是由编译器决定的,一般尖括号意味着在标准库目录中搜索,引号就表示在当前目录中搜索.Thespiffynew整洁的新C++#include目录不需要直接映射到filenames,至少对于标准库是这样.这就是你有时能够成功编译以下命令的原因
#pragma命令可以让编程者让编译器执行某些事. 因为#pragma命令的执行很特殊,不同的编译器使用有所不同. 一个选项可以跟踪程序的执行.
#if,#ifdef,#ifndef,#else,#elif,#endif
这些命令让编译器进行简单的逻辑控制.当一个文件被编译时,你可以使用这些命令使某些行保留或者是去处.
语法:
#define macro-name replacement-string
#define命令用于把指定的字符串替换文件中的宏名称.也就是说,#define使编译器把文件中每一个macro-name替换为replacement-string.替换的字符串结束于行末.这里是一个经典的#define应用(至少是在C中):
#,##
#和##操作符是和#define宏使用的.使用#使在#后的首个参数返回为一个带引号的字符串.例如,命令