大型 c++项目,在 ai 帮助下完成 Linux 平台移植,可行性多大? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wnpllrzodiac
V2EX    C++

大型 c++项目,在 ai 帮助下完成 Linux 平台移植,可行性多大?

  •  
  •   wnpllrzodiac 12 天前 via Android 1944 次点击
    原项目是继续 windows 的,大量 windows api mfc atl 和 windows 资源的使用。还有 rpc 和跨进程的 handle 共享显示。几年前完成了 mac 的移植,做了大量的兼容和 stub 代码。平台宏定义满地都是。

    现在完成编译链接工作。运行起来各种 crash,几十年的祖传代码感觉用 ai 调内存问题也困难重重。

    是不是大公司项目方向对,在继续就行?后能不能出东西,根本就没人管?
    14 条回复    2025-12-04 10:17:24 +08:00
    passive
        1
    passive  
       12 天前 via Android   1
    windows api 直接连接 libwine ,还挺稳定的。
    ui 迁移到 wx 。
    frayesshi1
        2
    frayesshi1  
    PRO
       12 天前
    直接上 Qt
    clemente
        3
    clemente  
       12 天前
    gemini 3 pro 超级稳
    clemente
        4
    clemente  
       12 天前
    先完善原有项目的单测/功能测试/集成测试/压力测试

    让 AI 一把锁
    然后按照测试完成率来做判断
    liyafe1997
        5
    liyafe1997  
       11 天前
    可以,并且我认为这正是 AI 擅长的,可以减少很多编码的体力活。
    但是要写好 prompt ,用 AI 也不是一件简单的事的。
    不是一句「帮我移植到 Linux 」就完事,你需要讲清楚技术方案,库/API 替换,以及一些特殊情况(比如 Windows 有而 Linux 没有的功能,以及一些你能想到的 AI 不能帮你做的决策,你要安排好),给好示例,甚至准备好很多文档,还要拆解好任务。
    masterclock
        6
    masterclock  
       11 天前
    其实我见过用 wine 的服务程序
    jamesjammy061
        7
    jamesjammy061  
       11 天前
    几乎是 0 ,改成一坨
    sagnitude
        8
    sagnitude  
       11 天前
    要么直接 wine 跑,也不用移植了
    要么直接重写,UI 用 ai 做前端一把梭,再花个把月梳理所有设计要求和模块文档,再找几个熟悉这个工具的人摸个几个月,高强度和 ai 对线,再测试个几个月,还有点可能
    svyrblg
        9
    svyrblg  
       11 天前
    Mac 往 Linux 移植比 Windows 移植过来简单一些吧
    kero991
        10
    kero991  
       11 天前 via Android
    我觉得就算移植过去了,也是屎山代码,而且项目不具备任何维护能力了(你怎么更新这 3 个已经完全不一样的代码?)

    github 上多的是这种一代项目勉强移植,然后从头开始用跨平台重构的,只要你这个项目不是停止维护了,你迟早要走这一步。
    kero991
        11
    kero991  
       11 天前 via Android
    @passive 我问 ai 啥是 libwine 他给了我另一个建议
    如果你想源码级移植,那得用 Winelib ( Wine 的另一个工具),它允许你把 Windows 源码重新编译成 Linux 原生程序,链接的就是 libwine 的开发版本。
    wnpllrzodiac
        12
    wnpllrzodiac  
    OP
       11 天前 via Android
    @svyrblg mac 移植用了大量 foundation coca 框架 mm 文件,而不是 posix 实现。所以基本除了 sh 脚本可以参考。移植部分基本没用。osx 移植的人是做 osx 开发的
    wnpllrzodiac
        13
    wnpllrzodiac  
    OP
       11 天前 via Android
    @kero991 wine 运行 windows 版的问题是,一旦遇到 crash 问题。没办法调试。wine 不支持运行 debug 版的 vsruntime 除非 wine 里装 vs2022. 调试也是困难。用了很多 dll 和黑科技
    whenov
        14
    whenov  
       10 天前
    性能要求不高的话,要不把整个 Windows+虚拟机打包吧[doge]
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     767 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 20:20 PVG 04:20 LAX 12:20 JFK 15:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86