繁体   English   中英

谁能解释一下“->”是如何在#define 中实现的

[英]can anyone explain how the “->” is implemented in the #define

我正在使用这条线作为#define 进行参考设计

#define MEDIA_EXT_STATE "\"adv7611 12-004c\":1 -> \"40080000.tpg\":0[%d]"

sprintf function 使用它,然后将其传递给media_parse_setup_links() function。

sprintf(media_formats, MEDIA_EXT_STATE, 1);
ret = media_parse_setup_links(media, media_formats);

宏将MEDIA_EXT_STATE定义为字符串文字,类似于

#define FOOBAR "foo -> bar"

FOOBAR定义为字符串文字"foo -> bar" 也许您对转义的"感到困惑,但这就像普通的字符串文字一样:

std::cout << "\"123";

打印"123 .

要知道字符串中->的含义是什么,您必须查看media_parse_setup_links的实现或阅读文档。

它简单地翻译为:

 sprintf(media_formats, "\"adv7611 12-004c\":1 -> \"40080000.tpg\":0[%d]", 1);

没有指针操作,因为它只是字符串的一部分。

删除引号时,它变得更加明显:

 sprintf(media_formats, "'adv7611 12-004c':1 -> '40080000.tpg':0[%d]", 1);

谁能解释一下“->”是如何实现的

这只是文字。 它的“实现”方式与此相同:

std::string example = "->";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM