int n){//---returnstring(__func__);}stringquickSort(int*a,int n){//---returnstring(__func__);}stringmergeSort(int*a,int n){//---returnstring(__func__);}voidtest(void(*sort)(int*,int),int*a,int n){int time;//---cout<<...
6.47Function Names as Strings:http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html GCC provides three magic variables that hold the name of the current function, as a string. The first of these is__func__, which is part of the C99 standard: The identifier__func__is implicitly declared ...
GCC provides three magic variables that hold the name of the current function, as a string. The first of these is __func__, which is part of the C99 standard: The identifier __func__ is implicitly declared by the translator as if, immediately following the ...
1//定义比较函数max(int,int) 2intmax(inta,intb) 3 { 4returna>b?a:b; 5 } 6//指针fun作为compare函数的形式参数1,表明compare函数的形参1为 7// 有2个 int型 参数的 函数指针(或称之为函数地址/入口) 8//注意:int (*fun)(int,int)并不需要fun指针指向函数的参数 如下调用时*** 9//compare...
参考这里Concatenation#include//宏定义#defineGET_NAME(x)#xvoidfun0(){;}intmain(){//获取name==...
在上面的代码中,我们首先定义了一个宏LOGD,然后在这个宏的实现中,使用了__android_log_print函数来输出log。在输出log的时候,我们使用了%s来打印当前函数名__func__,并使用__VA_ARGS__来打印其他参数。 流程图 下面是一个流程图,展示了打印当前函数名的宏的实现流程: ...
CC++打印源文件名和行号函数名的宏 CC++打印源⽂件名和⾏号函数名的宏__FILE__ 宏在预编译时会替换成当前的源⽂件名 __LINE__ 宏在预编译时会替换成当前的⾏号 __FUNCTION__ 宏在预编译时会替换成当前的函数名称
TH_CONCAT_4宏的作用 #include<stdio.h>#defineReal Int#defineTH_CONCAT_4_EXPAND(x,y,z,w) x ## y ## z ## w#defineTH_CONCAT_4(x,y,z,w) TH_CONCAT_4_EXPAND(x,y,z,w)#defineTHStorage_(NAME) TH_CONCAT_4(TH,Real,Storage_,NAME)voidTHStorage_(newWithSize)(){printf("%s\n",_...
方法/步骤 1 本例中,我们要计算左表中不同颜色的单元格的数量,将结果汇总到右表的"合计"列。2 依次选中:"公式"菜单>"定义名称">设置"名称"。名称设置为"颜色"。引用位置设置为"=GET.CELL(63,!A2)"。3 名称定义好以后,我们还可以在"公式"菜单>"名称管理器"中进行查看、编辑等操作。4 接下来,我们在...
如果二者作用域没有交叉,那么可以把函数名定义为static。或者在使用宏的地方,不要声明该函数。否则,只能改掉其中一个名字。推荐宏名用全大写字母。函数名用全小写字母或者单词开头字母大写。 这样就不会冲突了。而且根据名字 一眼就可以看出来是宏还是函数。