$str = "13968022542f";
//
//奇偶互换函数
//
function exchange ($str)
{
$s = "";
for($i=1;$i
最近一段时间在看lisp的宏,不知道该怎么样写这样的宏, 功能上就是类似于with-open-file,让我可以这么使用 (with-greate (greater 3 4) (list greater)) 谢谢各位,麻烦帮忙实现一下。
最近我想实现一个功能,也就是在LOG中打印出线程的ID号。 我知道用的函数是 pthread_t tid = pthread_self(); 因为是维护之前的代码,要在每条日记中后新加一个线程ID号。 但我想要简化的手段添加,能不能把获取线程的函数用宏的形式封装成类似: __FILE__或__LINE__ 的功能。 比如经过 #define _GET_PTHREAD_ID_ XXXXX 我这后就可以这么用: printf("thread Id:%u \n",_GET_PTHREAD_ID_); 就能显示出来。 或其它方法。。 谢...
#define square(a) (a)*(a) 上面的定义 如果 square(i++);就会出现宏副作用; 考虑到宏的副作用,我想不出来该咋实现的。。。。。 期待大牛~ 在线等~~
原函数如下 [code] int _Op(struct OPDATA* pOpData,int fd,int op) { pOpData->fd=fd; ... return _sys_op(pOpData,op,fd); } [/code] 不知道用宏怎么替换, 或者inline 怎么声明. 谢谢!
#define PAGE_ALIGN(addr,thePageSize) (((addr) + thePageSize - 1) & ~(theP ageSize - 1)) 这个宏是实现根据pagesize的值进行对齐的,并且是正确的。 请问这个宏实现的思路是什么呢?以后碰到类似的问题应该怎么解决。 谢谢。
需要将一个64位数据的高低32位分别赋值给两个32位数据类型 [code] #define U32_1 (~(__uint32_t)0) #define U64Parse(U64,U32High,U32Low)\ {\ U32Low =(TypeA)(U64&U32_1);\ U64>>=32;\ U32High =(TypeB)(U64&U32_1);\ } [/code] 为了不产生警告,需要将取的数据进行类型转换.如果要做到通用的话需要知道U32Low,U32High的类型,应该怎么办. 谢谢.
qhp是链表头 #define frm_que_init(qhp, err) { \ (qhp)->;q_link.q_next = (qhp)->;q_link.q_prev = &(qhp)->;q_link; \ 链表初始话 } #define frm_que_instail(qhp, element) { 向链表中插入一个element } 具体的数据结构等不要讨论, 把对链表的查找,插入等都用宏的形式来实现,两者比较起来有什么不同呢?? 1 用函数的话,要入stack和出stack 宏不用 所以效率高 2 ? 3 ? 请各位来两句 t...