跨平台开发:Windows/Linux 双平台开发经验,熟悉 POSIX 标准
逆向工程:熟练使用 IDA Pro, OllyDbg 等工具
界面开发:MFC,Qt
安装程序定制:熟练使用 InstallShield 定制安装流程
开源库适配:对开源库进行国产化平台适配
COM/OLE开发:熟悉 COM/OLE 技术,能够处理与 OA 相关的集成问题
软件调试与二进制分析:熟悉使用 Windbg, GDB, OllyDbg, Cheat Engine, x64dbg 等工具
一,InstallShield 界面的深度定制(将经典的 InstallShield 的安装界面进行定制和美化)
1. 研究 Hook 方案的选择;解决 360 的拦截问题;
2. 解决 MFC 如何与宿主进程的数据交换和消息同步,按钮及文本框等控件的同步和信息传递;
3. 负责 MFC 界面的美化及不同 dpi 的适配,及界面的多国语言实现方案;
4. 解决 InstallScript 脚本函数与 C++ 程序的通信和适配问题;
二,PDF 模块的 Linux 平台移植(将 Windows 平台已经成熟的产品向 Linux 平台移植)
1. 负责整个项目的代码编写及 Bug 修复;
2. 负责原平台代码的研究,平台移植替代方案的选择;
三,GraphicsMagick 开源库的二次开发
1. 支持双平台,Windows 平台(从 XP 系统支持至 Windows 11 系统)和 Linux 平台(包括国产化平台:飞腾、神威等)。
2. 以动态库和共享库的形式发布,按照 JNI 规范为上层 Java 应用提供 Native 功能。
2. 负责功能完善,如添加新图片格式支持;
3. 负责 C++ 程序与 Java 程序之间的适配;
4. 负责性能优化,研究图片算法;
5. 负责图片开源库的研究对比,如GraphicsMagick,MagickMagick,Boost.GIL等;
该项目为学习 Scintilla 而生,因为比较流行的 Notepad++ 文本编辑器底层就使用 Scintilla,该项目基于 Beta release 0.81,实现了代码搜索,高亮等功能。
该项目用 rust 语言编写,为了提高工作效率,快速显示错误码对应的错误描述,支持 windows 平台和 linux 平台。