首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何摆脱Djinni生成的不必要的函数- ToString ( Java)/Description ( Objc)?

摆脱Djinni生成的不必要的函数- ToString ( Java)/Description ( Objc)的方法可以通过以下步骤实现:

  1. 理解Djinni的生成原理:Djinni是一个用于跨平台开发的工具,它可以生成不同编程语言之间的接口代码。在生成Java和Objective-C代码时,Djinni会默认添加一些通用的函数,如ToString和Description函数,用于对象的打印输出和描述。这些函数在某些场景下可能会带来冗余和不必要的开销。
  2. 配置Djinni文件:在Djinni的接口定义文件(.djinni)中,可以通过修改配置选项来控制生成的代码内容。具体而言,可以使用custom_cpp选项来自定义生成的C++代码,进而影响生成Java和Objective-C代码中的函数。
  3. 自定义C++代码:在Djinni的接口定义文件中,使用custom_cpp选项指定一个自定义的C++代码文件,用于重写ToString和Description函数。在该文件中,可以根据需求定义自己的打印输出或描述函数,以替代Djinni生成的默认函数。
  4. 生成代码:使用Djinni工具根据修改后的接口定义文件生成新的代码。通过指定自定义的C++代码文件,Djinni将生成不再包含不必要的ToString和Description函数的Java和Objective-C代码。

需要注意的是,根据具体的使用场景和需求,可能需要根据生成的代码进行调整和优化。此外,对于其他问题和细节,建议参考Djinni的官方文档和相关资源,以了解更多关于定制化代码生成的方法和技巧。

在腾讯云的产品生态中,暂无直接相关的产品或服务与该问题相关联。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

面经之《招聘一个靠谱iOS》import CYLBlockExecutor.himport CYLBlockExecutor.himport CYLNSObject+RunAtDeallo

,这会带来性能问题,通过声明 nonatomic 可以节省这些虽然很小但是不必要额外开销。...ivar、getter、setter 是如何生成并添加到这个类中 @property 本质是什么?...category 使用 @property 也是只会生成 setter 和 getter 方法声明,如果我们真的需要给 category 增加属性实现,需要借助于运行时两个函数objc_setAssociatedObject...下面我们将基于objc_storeWeak(&a, b)函数,使用伪代码模拟“runtime如何实现weak属性”: // 使用伪代码模拟:runtime如何实现weak属性 id obj1; objc_initWeak...main.m 就可以生成一个main.cpp文件,在最低端(10万4千行左右) enter image description here 我们可以看到大概是这样: ((void ()(id, SEL

997100

Flutter误删除androidios目录怎么办?

最近有朋友遇到了这样一个问题:在Flutter开发中误删android/ios该如何挽救?。很多朋友会尝试从回收站中恢复,但如果无法从回收站中恢复怎么办?还有办法拯救一下自己吗。答案是肯定。...[java (default), kotlin] 帮助说很清楚,如果在一个既存项目中运行这个命令,那么这将会修复当前项目,重新创建丢失文件。...简单示例代码: flutter create -i objc . 参数解释: -i 是表示iOS项目开发语言,objc和swift两个选项,其中objc是默认。...-a 是表示Android项目开发语言,java和kotlin两个选项,其中java是默认。 当然了create命令还给我们提供了一些其他选项: -t , --template= 模板。...其中app是默认。 --org 组织名称。这个参数将作为java包名以及iOSBundleID前缀。默认是“com.example"。 --description 描述。

3.4K30
  • 老板看了我代码,直呼“666”,要涨工资?

    回复“1024”或“面试题”获取4T架构师资料 背景:如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...推荐:跟狗屎一样代码,到底该如何重构?...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。

    42450

    16 条 yyds 代码规范

    链接:cnblogs.com/taojietaoge/p/11575376.html 如何更规范化编写Java 代码 Many of the happiest people are those who...背景:如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。

    42220

    16 条 yyds 代码规范

    如何更规范化编写Java 代码 Many of the happiest people are those who own the least....背景:如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。

    47520

    16 条 yyds 代码规范

    来源 | cnblogs.com/taojietaoge/p/11575376.html 如何更规范化编写Java 代码 Many of the happiest people are those who...背景:如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。

    40030

    五年工作经验总结 16 条代码规范

    如何更规范化编写Java 代码 Many of the happiest people are those who own the least....背景:如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。

    25830

    当我遵循了这 16 条规范写代码,同事只对我说了三个字: 666

    如何更规范化编写Java 代码 Many of the happiest people are those who own the least....背景:如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。

    52430

    超级全面的 Lombok 注解介绍,学一波!

    任何类定义都可以使用@ToString注释,以使lombok生成toString()方法实现。...通过将callSuper设置为true,可以将toString超类实现输出包含到输出中。请注意,java.lang.Object中toString() 默认实现几乎毫无意义。...对于具有约束字段(例如@NonNull字段),不会生成任何检查。 @RequiredArgsConstructor为每个需要特殊处理字段生成一个带有1个参数构造函数。...所有未初始化final字段都会获取一个参数,以及所有未声明其位置未标记为@NonNull字段。 @AllArgsConstructor为类中每个字段生成一个带有1个参数构造函数。...getter,所有非final字段setter,以及涉及类字段适当toString,equals和hashCode实现,以及初始化所有final字段以及所有非final字段构造函数没有使用@NonNull

    4.3K32

    这16条规范代码,同事,拍桌子 大喊 “666”

    背景:如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...2021金三银四Java面试宝典 一、MyBatis 不要为了多个查询条件而写 1 = 1 当遇到多个查询条件,使用where 1=1 可以很方便解决我们问题,但是这样很可能会造成非常大性能损失,...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。

    42100

    iOS Runtime Method IMP指针详解

    这篇之前讲过了如何创建类和Runtime中属性,今天主要说一下关于Runtime方法。...OC类中,所有的方法在Runtime时候都会变成objc_method,IMP是一个函数指针,指向实现这个函数方法。...(10.5,2.0,9.0,1.0,2.0); OBJC_EXPORT struct objc_method_description *_Nonnull method_getDescription...从objc_method结构体可知,method里有SEL 方法名 和IMP 实现方法函数指针组成。所以我们可以从方法里拿到他属性,然后玩一玩,下面就是针对这两个方法小应用。...同时,苹果在runtime中也提供了一些函数来支持针对block操作,这些函数包括: 1 2 3 4 5 6 7 8 // 创建一个指针函数指针,该函数调用时会调用特定block

    1.5K20

    从微信扔骰子看iOS应用安全与逆向分析

    前言 在之前《免越狱调试与分析黑盒iOS应用》以及前几篇文章中已经介绍了如何开始分析iOS应用,不过都是基于非越狱机器,其本意是为了能够在自己主力设备中进行简单分析和调试。...objc_msgSend 函数,在苹果官网可以看到其函数原型: id objc_msgSend(self, op, ...); 其中各个参数为: self: 消息接收方,对于类方法为指向类指针,对于对象方法而言为对象指针...,m_emojiInfo md5 为 “dice_emoticon_md5”,此时骰子图像并没有真正生成,所以印证了我们之前猜想,即实际操作还在后面。...self=${handle}, selector=${selector}, arg0=${arg0}`); }); NSProxy 在 Java 中,我们可以通过 java.lang.reflect.Proxy...iOS应用开发者为了保证兼容性通常会选择同时支持armv7和arm64,但对于逆向分析却不必要。因此,我们可以先对其进行瘦身(thin),只保留arm64架构即可。

    1.9K40

    规范 | 16条 yyds 代码规范

    背景:如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。...this.description = description; } } 正例: public enum SwitchStatus { // 枚举属性字段正例 DISABLED

    30100

    Java代码规范

    如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。...this.description = description; } } 正例: public enum SwitchStatus { // 枚举属性字段正例 DISABLED(

    1K20

    编码5分钟,优化两小时?14 条 yyds 编码规范

    如何更规范化编写Java 代码? 其中最重要几点当属: 提高代码性能 使代码远离Bug 令代码更优雅 浩说在这里为大家整理14条yyds编码规范 记得 ? 分享 | 收藏 ?...工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数...= null) { builder.append(line); } return builder.toString(); //删除多余抛异常...;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。...this.description = description; } } 正例: public enum SwitchStatus { // 枚举属性字段正例 DISABLED

    57130

    如何更规范化编写 Java 代码

    背景 如何更规范化编写 Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离 Bug、令代码更优雅。...Java 会对其进行优化,但是在循环中字符串拼接 Java 编译期无法执行优化,所以需要使用 StringBuilder 进行替换。...、方法参数、私有方法、字段和多余括号 九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化...,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数。...,那么这些枚举常量属性很容易被修改;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应 Setter 方法,最好加上 final 修饰符。

    77640

    老板看了我代码,直呼“666”,说涨工资!

    作者:涛姐涛哥 来源:https://url.cn/5PswiUJ 如何更规范化编写Java 代码重要性想必毋需多言,其中最重要几点当属提高代码性能、使代码远离Bug、令代码更优雅。...Java 会对其进行优化,但是在循环中字符串拼接Java 编译期无法执行优化,所以需要使用StringBuilder 进行替换。...、方法参数、私有方法、字段和多余括号 九、工具类中屏蔽构造函数 工具类是一堆静态字段和函数集合,其不应该被实例化;但是,Java 为每个没有明确定义构造函数类添加了一个隐式公有构造函数,为了避免不必要实例化...,应该显式定义私有构造函数来屏蔽这个隐式公有构造函数。...;理想情况下,枚举中属性字段是私有的,并在私有构造函数中赋值,没有对应Setter 方法,最好加上final 修饰符。

    38620
    领券