V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wils0n
V2EX  ›  程序员

请教 C++的正确开发方式

  •  
  •   wils0n · 2021-11-19 19:12:06 +08:00 · 2899 次点击
    这是一个创建于 1129 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先声明一下本人在一家国企做开发,水平极菜

    之前写过一点 Java 和 Python (都是边查边写),只学习过 C++的语法,近期因为转视觉项目而且需要对接硬件,开始转用 C++开发调用动态链接库,但是开发的过程中发现很多常用的包都没有集成,比如定时器、日志之类的,添加库的方式也特别繁琐,得下载源码然后自行编译,没有统一的包管理工具,还被 cmake 折磨,开发过程特别痛苦。

    想问下各位大佬是我的打开方式不对吗,还是说我应该只用 c++封装成动态库用 Python 写逻辑去调用?

    第 1 条附言  ·  2021-11-20 16:06:58 +08:00
    谢谢各位的建议,决定先搞搞 Qt ,把项目 run 起来再说 :-P
    14 条回复    2021-11-22 10:40:37 +08:00
    ysc3839
        1
    ysc3839  
       2021-11-19 19:15:48 +08:00
    C++ 是没有统一的包管理工具,但是有各种不统一的方案,比如 Unix 包管理器,vcpkg 等。
    handuo
        2
    handuo  
       2021-11-19 19:17:03 +08:00 via Android
    说白了应该就是对 cmake 不熟吧,如果熟悉了就不会感觉很麻烦呀,把包编译好安装到系统或者项目下的第三方文件夹,用 cmake 调用就行了吧
    Buges
        3
    Buges  
       2021-11-19 19:20:14 +08:00 via Android
    不会 cpp 就别用了,封装 ffi 用你会的语言做。
    1vonzhang
        4
    1vonzhang  
       2021-11-19 19:43:20 +08:00
    不打算深入 C++的话,推荐看一下 Qt ,提供了很多所谓常用的组件,能够让你用 Java 和 Python 的知识先把 C++ 快速的写起来。

    而且说不定用着用着 Qt ,慢慢 C++,CMake 之类的就也都会一些了。
    skye
        5
    skye  
       2021-11-19 20:06:00 +08:00
    写个 jni 吧,把必要的内容放在 c++里,其他用 java
    edimetia3d
        6
    edimetia3d  
       2021-11-19 20:08:07 +08:00
    是这样的, C++ 的 build system 是一个巨坑.

    如果你能"只用 c++封装成动态库用 Python 写逻辑去调用", 那么这么做不但是可行,而且是相当好的做法.
    jones2000
        7
    jones2000  
       2021-11-19 20:16:18 +08:00
    国企一般不都是直接外包的嘛,很少自己开发。
    unlighted
        8
    unlighted  
       2021-11-19 20:44:41 +08:00
    熟悉 cmake+下载源码编译形式,搭好架子之后,你就会发现其实开发起来还是蛮舒服的
    c0xt30a
        9
    c0xt30a  
       2021-11-20 07:03:12 +08:00
    1. 找 header-only 的库。但是 header-only 好像是最近几年盛行的,写得都很花哨,如果编译器支持不到最新标准的话可能比较难搞。
    2. 自己发明个轮子。我自己连 STL 都造过一个……
    3. 自己编译一个第三方库……我是不太喜欢这种,因为 C++ 二进制兼容性的问题。最好是找 C 的库。
    dbskcnc
        10
    dbskcnc  
       2021-11-20 07:22:20 +08:00 via Android
    cmake+conan, 熟悉了还可以的
    Brian1900
        11
    Brian1900  
       2021-11-20 07:38:27 +08:00
    对于你这个情况,建议是不用 C++ 捏,反正其他语言也能写逻辑,国企也没那么看重程序实时效率吧
    mirage13
        12
    mirage13  
       2021-11-20 07:58:02 +08:00
    用 qt 啊,你说的什么计时器,日志啥的都集成了。so tm easy
    hronro
        13
    hronro  
       2021-11-21 15:00:28 +08:00
    上 Rust 啊
    JSPIXiaoHei
        14
    JSPIXiaoHei  
       2021-11-22 10:40:37 +08:00
    怎么进国企啊 QAQ
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2870 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:17 · PVG 22:17 · LAX 06:17 · JFK 09:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.