logify.pl对以点开头的函数不正确转换的处理

用logify.pl转换微信头文件的时候,发现下面这种类型的函数 转换以后会出现编译错误,一个个去修改可能也没问题,但是我懒啊

- (void).cxx_destruct { %log; %orig; }

下面提供一个简单粗暴的办法,找到:

/opt/theos/bin/logify.pl

打开(建议先复制先复制到其他地方,然后改名原本的):

找到 :

if($line =~ m/^[+-]\s*\((.*?)\).*?(?=;)/ && $interface == 1) {

修改为 :

if($line =~ m/^[+-]\s*\((.*?)\)[^.]*?(?=;)/ && $interface == 1) {

(嗯,这个我不确定是不是需要,因为下面的还有一个判断)

找到:

$declaration =~ m/^[+-]\s*\((.*?)\).*?/;

修改为 :

$declaration =~ m/^[+-]\s*\((.*?)\)[^.]*?/;

替换原来的 命令行执行 输入密码

sudo chmod 775 /opt/theos/bin/logify.pl

然后应该就可以输出正常的了(unknown class name问题不在解决范围之内)


感谢E.L.O.U.R qq320263999帮忙测试正则表达式(嗯 其实就是我说了想法他负责实现的。。)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容