码迷,mamicode.com
首页 >  
搜索关键字:宏定义    ( 1731个结果
宏定义放在结构体里
#include struct node {     #define Max(a,b) a>b?a:b//个人感觉宏定义放在结构体里和放在放在最上面是没有区别的,可能是为了读代码方便     int x,y; }; struct node2 {     int x,y; }; int main() {     node a;     node b;     scanf(...
分类:其他好文   时间:2015-01-27 11:17:47    阅读次数:137
关于C语言的一些trick
很多东西已经记不起来了,想到一点写一点,碰到一点写一点,慢慢累积。关于##在宏定义中用于替换传入变量的字符,例如: #define whole_operation(n) do { printf(#n "=%d\n", (n));} while(0);调用whole_operation(5*6), ....
分类:编程语言   时间:2015-01-26 19:14:00    阅读次数:303
do..while(false)的用法总结
首先要注意:do..while(0)代表do里面的东西至少被执行一次,在这里仅仅执行一次。此种用法有三个用处:代替{}代码块,实现局部作用域。在某些宏定义时非常有用:#define f(x) do {\ some_code; some_code;} while(0)(while(0)...
分类:其他好文   时间:2015-01-25 08:42:14    阅读次数:291
宏定义
宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。1.不带参数的宏定义:宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”,字符串可以是常数、表达式、格式串等。 在编译预处...
分类:其他好文   时间:2015-01-23 13:03:13    阅读次数:169
宏定义格式
在工作中常用的几个宏定义 1 几个#ifndef连用 #ifndef _WIN32 #ifndef Sleep(n) #define Sleep(n) usleep((n)*1000) #endif #endif 2 几个#if defined连用的定义 #if defined(__WIN32__) || defined(_WIN32) || defined(_WIN32_WC...
分类:其他好文   时间:2015-01-22 15:34:08    阅读次数:182
makefile宏定义:EXTRA_CFLAGS += -D 与CONFIG_ =y
EXTRA_CFLAGS += -D 与CONFIG_ =y 1. 假如定义一个宏CONFIG_DEBUG 在.c里面定义为:#define CONFIG_DEBUG 在makefile里定义为: CONFIG_DEBUG=y 假如说我们想在makefile里为.c文件进入一个宏定义,就用EXTRA_CFLAGS += DCONFIG_DEBUG( 等价于在.c文件里定义#define...
分类:其他好文   时间:2015-01-22 15:29:03    阅读次数:160
windows编写动态链接库DLL
1. 在VC中新建win32控制台工程,该工程调用动态链接库my.dll中的函数add,实现加法,代码如下 #include #include typedef int(*lpAddFun)(int, int);//宏定义函数指针类型 int main(int argc, char *argv[]) { HINSTANCE hDll;//DLL句柄 lpAddFun ad...
分类:Windows程序   时间:2015-01-22 00:25:27    阅读次数:234
do{...}while(0)在宏定义中的作用
如果你是一名C程序员,你肯定熟悉宏,它们非常的强大,如果正确使用可以让你的工作事半功倍。然后,如果你在定义宏时,很随意没有认真检查,那么它们可能使得你发狂,浪费N多时间。在很多C程序中,你可能看到许多看起来不是那么直接的较为特殊的宏定义。下面就是一个例子:1 #define _set_taks_st...
分类:其他好文   时间:2015-01-21 21:53:14    阅读次数:168
[linux驱动]linux驱动模块
一,内核模块的概念经常在内核驱动代码看到类似fs_init()等驱动初始化函数,那么这个和module_init()函数的差别在哪里,宏定义__define_initcall(level,fn)对于内核的初始化很重要,他指示编译器在编译的时候,将一系列初始化函数的起始地址值按照一定的顺序放在一个se...
分类:系统相关   时间:2015-01-20 22:02:55    阅读次数:245
[数据结构][LINUX内核编程]学习笔记(一)
linux内核使用bitmap相关1,声明一个bitmap数组,可以表示100个bit,数组名字是bitmap[cpp]view plaincopyDECLARE_BITMAP(bitmap,100)相关宏定义如下:[cpp]view plaincopy#defineDECLARE_BITMAP(n...
分类:系统相关   时间:2015-01-20 21:49:58    阅读次数:380
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!