一个C问题 求助
时间:2010-08-31
来源:互联网
如下:
#define SECCLASS_PROCESS 0x00000100UL
void fuck(u32 arg1,...)
{
}
现在的问题是
SECCLASS_PROCESS传递给 fuck(SECCLASS_PROCESS,...) 函数
在fuck()中是看不到SECCLASS_PROCESS这个东西
只知道有arg1
现在我想通过传递的参数arg1
在fuck()中打印出“SECCLASS_PROCESS”这个字符串,
而不是SECCLASS_PROCESS的值
请问大仙们如何实现,或者是否已有这样的函数
先谢过!
#define SECCLASS_PROCESS 0x00000100UL
void fuck(u32 arg1,...)
{
}
现在的问题是
SECCLASS_PROCESS传递给 fuck(SECCLASS_PROCESS,...) 函数
在fuck()中是看不到SECCLASS_PROCESS这个东西
只知道有arg1
现在我想通过传递的参数arg1
在fuck()中打印出“SECCLASS_PROCESS”这个字符串,
而不是SECCLASS_PROCESS的值
请问大仙们如何实现,或者是否已有这样的函数
先谢过!
作者: kitifaye 发布时间: 2010-08-31
宏在编译后就替换掉了,如果你真的想要输出,你就在开个字符串,将宏的值和宏名进行映射就行了
作者: daybreakcx 发布时间: 2010-08-31
回复 daybreakcx
能不能详细指点一下,谢谢
能不能详细指点一下,谢谢
作者: kitifaye 发布时间: 2010-08-31
比如你开个数组叫做name
char name[N][M]={......,"SECCLASS_PROCESS",......}这样,然后SECCLASS_PROCESS的位置坐标就是宏的数值,我是这个意思,你得到了0x100就printf("%s\n", name[arg1]);
char name[N][M]={......,"SECCLASS_PROCESS",......}这样,然后SECCLASS_PROCESS的位置坐标就是宏的数值,我是这个意思,你得到了0x100就printf("%s\n", name[arg1]);
作者: daybreakcx 发布时间: 2010-08-31
回复 daybreakcx
谢谢。
我遇到问题就是它定义的数值有重复的,所以找不到原来宏名是哪个了
不然也懒得想来这个方法了
列一下它的定义
#define COMMON_IPC__CREATE 0x00000001UL
#define COMMON_IPC__DESTROY 0x00000002UL
#define COMMON_IPC__GETATTR 0x00000004UL
#define COMMON_IPC__SETATTR 0x00000008UL
#define COMMON_IPC__READ 0x00000010UL
#define COMMON_IPC__WRITE 0x00000020UL
#define COMMON_IPC__ASSOCIATE 0x00000040UL
#define COMMON_IPC__UNIX_READ 0x00000080UL
#define COMMON_IPC__UNIX_WRITE 0x00000100UL
#define FILESYSTEM__MOUNT 0x00000001UL
#define FILESYSTEM__REMOUNT 0x00000002UL
#define FILESYSTEM__UNMOUNT 0x00000004UL
#define FILESYSTEM__GETATTR 0x00000008UL
#define FILESYSTEM__RELABELFROM 0x00000010UL
#define FILESYSTEM__RELABELTO 0x00000020UL
#define FILESYSTEM__TRANSITION 0x00000040UL
#define FILESYSTEM__ASSOCIATE 0x00000080UL
#define FILESYSTEM__QUOTAMOD 0x00000100UL
#define FILESYSTEM__QUOTAGET 0x00000200UL
#define DIR__IOCTL 0x00000001UL
#define DIR__READ 0x00000002UL
#define DIR__WRITE 0x00000004UL
#define DIR__CREATE 0x00000008UL
#define DIR__GETATTR 0x00000010UL
#define DIR__SETATTR 0x00000020UL
#define DIR__LOCK 0x00000040UL
#define DIR__RELABELFROM 0x00000080UL
#define DIR__RELABELTO 0x00000100UL
#define DIR__APPEND 0x00000200UL
#define DIR__UNLINK 0x00000400UL
#define DIR__LINK 0x00000800UL
#define DIR__RENAME 0x00001000UL
#define DIR__EXECUTE 0x00002000UL
#define DIR__SWAPON 0x00004000UL
#define DIR__QUOTAON 0x00008000UL
#define DIR__MOUNTON 0x00010000UL
#define DIR__ADD_NAME 0x00020000UL
谢谢。
我遇到问题就是它定义的数值有重复的,所以找不到原来宏名是哪个了
不然也懒得想来这个方法了
列一下它的定义
#define COMMON_IPC__CREATE 0x00000001UL
#define COMMON_IPC__DESTROY 0x00000002UL
#define COMMON_IPC__GETATTR 0x00000004UL
#define COMMON_IPC__SETATTR 0x00000008UL
#define COMMON_IPC__READ 0x00000010UL
#define COMMON_IPC__WRITE 0x00000020UL
#define COMMON_IPC__ASSOCIATE 0x00000040UL
#define COMMON_IPC__UNIX_READ 0x00000080UL
#define COMMON_IPC__UNIX_WRITE 0x00000100UL
#define FILESYSTEM__MOUNT 0x00000001UL
#define FILESYSTEM__REMOUNT 0x00000002UL
#define FILESYSTEM__UNMOUNT 0x00000004UL
#define FILESYSTEM__GETATTR 0x00000008UL
#define FILESYSTEM__RELABELFROM 0x00000010UL
#define FILESYSTEM__RELABELTO 0x00000020UL
#define FILESYSTEM__TRANSITION 0x00000040UL
#define FILESYSTEM__ASSOCIATE 0x00000080UL
#define FILESYSTEM__QUOTAMOD 0x00000100UL
#define FILESYSTEM__QUOTAGET 0x00000200UL
#define DIR__IOCTL 0x00000001UL
#define DIR__READ 0x00000002UL
#define DIR__WRITE 0x00000004UL
#define DIR__CREATE 0x00000008UL
#define DIR__GETATTR 0x00000010UL
#define DIR__SETATTR 0x00000020UL
#define DIR__LOCK 0x00000040UL
#define DIR__RELABELFROM 0x00000080UL
#define DIR__RELABELTO 0x00000100UL
#define DIR__APPEND 0x00000200UL
#define DIR__UNLINK 0x00000400UL
#define DIR__LINK 0x00000800UL
#define DIR__RENAME 0x00001000UL
#define DIR__EXECUTE 0x00002000UL
#define DIR__SWAPON 0x00004000UL
#define DIR__QUOTAON 0x00008000UL
#define DIR__MOUNTON 0x00010000UL
#define DIR__ADD_NAME 0x00020000UL
作者: kitifaye 发布时间: 2010-08-31
额,根据传入的数值无法区分对应的宏,那么对应到具体的宏名也就无从谈起了,除非你加参数
作者: daybreakcx 发布时间: 2010-08-31
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28