b*******e 发帖数: 24532 | 1 【 以下文字转载自 JobHunting 讨论区 】
发信人: bigbigbee (大蜜蜂:B计划前言), 信区: JobHunting
标 题: 请问这种C 编程方式叫什么?
发信站: BBS 未名空间站 (Thu Jun 18 12:43:04 2009, 美东)
switch (pdu->type) {
#define OPTIONAL_BEGIN
#define TLV_INTEGER(name, octets)
default:
error(0, "Unknown type, internal error while packing.");
}
碰到这么一段code,以前没有见过,不知道如何理解,啥意思?
有知道的吗? |
b*******e 发帖数: 24532 | 2 看看我们村有高手没有?
【在 b*******e 的大作中提到】 : 【 以下文字转载自 JobHunting 讨论区 】 : 发信人: bigbigbee (大蜜蜂:B计划前言), 信区: JobHunting : 标 题: 请问这种C 编程方式叫什么? : 发信站: BBS 未名空间站 (Thu Jun 18 12:43:04 2009, 美东) : switch (pdu->type) { : #define OPTIONAL_BEGIN : #define TLV_INTEGER(name, octets) : default: : error(0, "Unknown type, internal error while packing."); : }
|
s*******8 发帖数: 12734 | |
r********g 发帖数: 1351 | 4 你贴的是完整的吗?
怎么觉得少了点啥。。。。
【在 b*******e 的大作中提到】 : 看看我们村有高手没有?
|
b*******e 发帖数: 24532 | 5 不完整,我贴个完整点的。
00131 if(pdu == NULL) return NULL;
00132 switch (pdu->type) {
00133 #define OPTIONAL_BEGIN
00134 #define TLV_INTEGER(name, octets)
00135 #define TLV_NULTERMINATED(name, max_len)
00136 #define TLV_OCTETS(name, min_len, max_len)
00137 #define OPTIONAL_END
00138 #define INTEGER(name, octets) p = *(&p);
00139 #define NULTERMINATED(name, max_octets) p = *(&p);
00140 #define OCTETS(name, field_giving_octets) \
00141 p->field_giving_octets =
【在 r********g 的大作中提到】 : 你贴的是完整的吗? : 怎么觉得少了点啥。。。。
|
b*******e 发帖数: 24532 | 6 没有关系,我不懂,所以问啊
【在 s*******8 的大作中提到】 : 看不懂,哈哈哈。
|
r********g 发帖数: 1351 | 7 #define在函数中间使用相当于是定义了一个内嵌的函数吧(macros)。。。美国人的教材经常用的,我们好像用得很少。。。
刚根据acerqu的帖子修改了一下。。。
00131 if(pdu == NULL) return NULL;
00132 switch (pdu->type) {
00133 #define OPTIONAL_BEGIN
00134 #define TLV_INTEGER(name, octets)
00135 #define TLV_NULTERMINATED(name, max_len)
00136 #define TLV_OCTETS(name, min_len, max_len)
00137 #define OPTIONAL_END
00133-00137: 没用。。。
00138 #define INTEGER(name, octets) p = *(&p);
00139 #define NULTERMINATED(name, max_octets) p = *(&p);
00140 #define OCTETS(name, field_giving |
a****u 发帖数: 1537 | 8 一堆 define 都是没用的,迷糊人的。
展开代码请看
#include "pdu.def" |
a****u 发帖数: 1537 | 9 不出意外的话 pdu.def里面应该是
PDU(XXXX,XXX,XXX)
PDU(YYYY,YYY,YYY)
PDU(ZZZZ,ZZZ,ZZZ)
这样的玩意。
可能PDU.def是通过程序生成器生成的代码。问问你们知道TOOLCHAIN的人吧。 |
b*****n 发帖数: 482 | 10 X-macros
【在 b*******e 的大作中提到】 : 不完整,我贴个完整点的。 : 00131 if(pdu == NULL) return NULL; : 00132 switch (pdu->type) { : 00133 #define OPTIONAL_BEGIN : 00134 #define TLV_INTEGER(name, octets) : 00135 #define TLV_NULTERMINATED(name, max_len) : 00136 #define TLV_OCTETS(name, min_len, max_len) : 00137 #define OPTIONAL_END : 00138 #define INTEGER(name, octets) p = *(&p); : 00139 #define NULTERMINATED(name, max_octets) p = *(&p);
|
|
|
b*******n 发帖数: 5065 | 11
不就是个相亲行动计划方案么?
【在 b*******e 的大作中提到】 : 没有关系,我不懂,所以问啊
|
r********g 发帖数: 1351 | 12 哈哈
相亲这么拐弯抹角的可不好哦~ 要我就直接:
if (X or/and XX and XXX and XXXX or XXXXX...) in;
else out;
多简单阿~~
【在 b*******n 的大作中提到】 : : 不就是个相亲行动计划方案么?
|
B*********n 发帖数: 2552 | 13 so many niu ren!!
【在 r********g 的大作中提到】 : 哈哈 : 相亲这么拐弯抹角的可不好哦~ 要我就直接: : if (X or/and XX and XXX and XXXX or XXXXX...) in; : else out; : 多简单阿~~
|
b*******e 发帖数: 24532 | 14 多谢阿,
acerqu的帖子我再看看。
的教材经常用的,我们好像用得很少。。。
【在 r********g 的大作中提到】 : #define在函数中间使用相当于是定义了一个内嵌的函数吧(macros)。。。美国人的教材经常用的,我们好像用得很少。。。 : 刚根据acerqu的帖子修改了一下。。。 : 00131 if(pdu == NULL) return NULL; : 00132 switch (pdu->type) { : 00133 #define OPTIONAL_BEGIN : 00134 #define TLV_INTEGER(name, octets) : 00135 #define TLV_NULTERMINATED(name, max_len) : 00136 #define TLV_OCTETS(name, min_len, max_len) : 00137 #define OPTIONAL_END : 00133-00137: 没用。。。
|
b*******e 发帖数: 24532 | 15 原来是这样,我去看看.def.
【在 a****u 的大作中提到】 : 一堆 define 都是没用的,迷糊人的。 : 展开代码请看 : #include "pdu.def"
|
b*******e 发帖数: 24532 | 16 倒,我得去问问我的buddy,看看,多谢多谢。:)
【在 a****u 的大作中提到】 : 不出意外的话 pdu.def里面应该是 : PDU(XXXX,XXX,XXX) : PDU(YYYY,YYY,YYY) : PDU(ZZZZ,ZZZ,ZZZ) : 这样的玩意。 : 可能PDU.def是通过程序生成器生成的代码。问问你们知道TOOLCHAIN的人吧。
|
b*******e 发帖数: 24532 | 17 多谢,我把你们几个写的都看看,刚吃完午饭回来。
【在 b*****n 的大作中提到】 : X-macros
|
b*******e 发帖数: 24532 | 18 哈,牛
【在 b*******n 的大作中提到】 : : 不就是个相亲行动计划方案么?
|
b*******n 发帖数: 5065 | 19
Need TYPE-MATCH predefined.
unless dynamically adjust your trading/dating strategy.
【在 b*******e 的大作中提到】 : 哈,牛
|