首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C和PHP的Polyglot

C和PHP的Polyglot
EN

Stack Overflow用户
提问于 2022-08-10 18:40:31
回答 1查看 55关注 0票数 1

我当时想的是一个编译器,它会释放出C/PHP多边形,但不确定是否可能。主要问题是PHP开头/结尾括号、<?php?>。我想让它们成为扩展为零的宏,但是宏不可能有这样的标识符。有办法绕过这事吗?

代码语言:javascript
复制
#define <?php
#define ?>
#define $

多组分不需要是可读的,半可读的就足够了.感谢你的反馈!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-10 21:25:29

一个小例子是:

代码语言:javascript
复制
//<?php echo "\x08\x08"; ob_start(); ?>
#include <stdio.h>
#define function 

int
// <?php
function main(int $x)
{
    printf("Hello %d\n", $x);
}

// ?>
// <?php ob_end_clean(); main(1);

并使用C语法突出显示(但同一段代码):

代码语言:javascript
复制
//<?php echo "\x08\x08"; ob_start(); ?>
#include <stdio.h>
#define function 

int
// <?php
function main(int $x)
{
    printf("Hello %d\n", $x);
}

// ?>
// <?php ob_end_clean(); main(1);

编辑:好的,int函数类型不能工作。现在,我在这些行上使用#__C__前缀,然后在编译之前使用sed删除它。所以,可悲的是,不是100%的多组分。^^

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73311210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档