C 跟 C++一般是什么领域的主流语言? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Counter
V2EX    程序员

C 跟 C++一般是什么领域的主流语言?

  •  
  •   Counter 2019-04-12 12:16:15 +08:00 8651 次点击
    这是一个创建于 2377 天前的主题,其中的信息可能已经有所发展或是发生改变。
    53 条回复    2019-04-15 15:51:03 +08:00
    jiafaner
        1
    jiafaner  
       2019-04-12 12:19:05 +08:00
    刚开始看 C++ 一头雾水
    准备用 QT 写桌面
    strpbrk
        2
    strpbrk  
       2019-04-12 12:25:32 +08:00 via iPhone
    嵌入式 硬件开发 游戏开发 数据库
    Cbdy
        3
    Cbdy  
       2019-04-12 12:26:25 +08:00 via Android
    C 操作系统
    C++游戏、系统软件
    Counter
        4
    Counter  
    OP
       2019-04-12 12:27:03 +08:00
    @strpbrk 数据库?能否麻烦讲详细一些
    wwqgtxx
        5
    wwqgtxx  
       2019-04-12 12:37:34 +08:00 via iPhone
    @Counter mysql oracle sqlserver mongodb redis 这些都是 c/c++写的
    neoblackcap
        6
    neoblackcap  
       2019-04-12 12:46:10 +08:00
    C 主要是要跟硬件打交道的场景,
    C++主要是大型基础应用程序,对性能要求高,延迟忍受度低。比如分布式系统,数据库,3A 游戏,Office,Adobe,编码相关等
    rb6221
        7
    rb6221  
       2019-04-12 12:56:29 +08:00 via iPhone   1
    图形处理.比如 flutter 的引擎,opencl gl cv,跨平台的音视频播放,数据库和操作系统,高性能后端.比如高频交易,网游后
    GeruzoniAnsasu
        8
    GeruzoniAnsasu  
       2019-04-12 12:56:47 +08:00   1
    所有用于支撑互联网基础设施的基础设施
    绝大部分都是用 c/c++写的
    zzzhbooo
        9
    zzzhbooo  
       2019-04-12 13:35:04 +08:00
    金融,期货,股票
    orafy
        10
    orafy  
       2019-04-12 13:38:10 +08:00 via iPhone
    实时系统,游戏引擎,高频交易
    trait
        11
    trait  
       2019-04-12 13:46:16 +08:00
    图形渲染除了它们两现在真是一个能打的都没有
    inoki
        12
    inoki  
       2019-04-12 14:00:41 +08:00 via Android
    现在计算机基石吧,远古的是汇编
    jxf2008
        13
    jxf2008  
       2019-04-12 14:02:04 +08:00
    学 Qt 的飘过。。。。
    一直用 openCv 处理图片
    q397064399
        14
    q397064399  
       2019-04-12 14:10:02 +08:00   1
    @inoki #12 其实汇编也是,现在写 C/C++的 说自己不懂汇编,这门语言你两门语言你没法学
    HackerPainter
        15
    HackerPainter  
       2019-04-12 14:12:51 +08:00
    需要高性能的地方基本都是 C++
    fannas
        16
    fannas  
       2019-04-12 14:18:21 +08:00 via Android
    高性能计算与并行计算
    7sDream
        17
    7sDream  
       2019-04-12 14:22:35 +08:00
    只有我们还在用 C++ 写 Web 服务吗……

    脑壳疼……
    zwh2698
        18
    zwh2698  
       2019-04-12 14:44:51 +08:00 via Android
    系统软件,嵌入式,物联网,总之你用的一切电子产品都有。 举个例子,家里的路由器,洗衣机,冰箱,出门你用的导航,不管是车载还是 Android 或者 ios 的,你的汽车控制系统。等等。太多了
    zealinux
        19
    zealinux  
       2019-04-12 14:45:57 +08:00
    @7sDream
    你用了什么框架,
    最近也在思考把一个跑的慢的 java 服务改成 C++写。
    luoqeng
        20
    luoqeng  
       2019-04-12 14:55:49 +08:00   1
    去搜搜 C++ 招聘信息
    coderluan
        21
    coderluan  
       2019-04-12 15:06:16 +08:00
    简单来说,任何性能为主要指标的领域,而且严格来说是 C 和汇编,C++只是当成 C 语言的扩展,本身的很多特性因为性能原因也是很少使用的。
    7sDream
        22
    7sDream  
       2019-04-12 15:14:46 +08:00
    @zealinux #18

    公司内部的,有开源版,如果想试一下的话: https://github.com/TarsCloud/Tars

    但我不确定开源版有没有 HTTP 协议支持,还是只支持 RPC。
    inoki
        23
    inoki  
       2019-04-12 15:32:58 +08:00 via Android
    @q397064399 我接触到是 bootloader 用汇编写,然后环境初始化好之后都转交给 c 或者更高层语言了
    q397064399
        24
    q397064399  
       2019-04-12 15:37:46 +08:00
    @inoki #23 但是你要学懂,学明白并了解 C/C++的设计(例如左值 move 指针 函数返回) 就真的要对 栈帧还有汇编的调用 过程 了解的明明白白,我不是说你背熟汇编所有的指令,因为指令太多,而且有些编译器隐藏了很多优化。
    q397064399
        25
    q397064399  
       2019-04-12 15:38:42 +08:00
    @inoki #23 我最近也在看 C++的左值 move 但是看了半天 不明白,然后反汇编一看 就恍然大悟
    waruqi
        26
    waruqi  
       2019-04-12 15:48:38 +08:00 via Android
    用 c 的话可以试试 https://github.com/tboox/tbox 跨平台基础库
    429839446
        27
    429839446  
       2019-04-12 15:52:21 +08:00
    @7sDream tars 里面的代码真的有些年头了, 用 loki 造了 std::bind,,,
    lovejunjie1
        28
    lovejunjie1  
       2019-04-12 15:56:57 +08:00
    C++曾经理解了一些 2 进制和 16 进制的一些基础概念,还有进出栈。最怕的还是指针,不敢动,动不好就蓝屏
    metaquant
        29
    metaquant  
       2019-04-12 15:57:01 +08:00   1
        30
    jxf2008  
       2019-04-12 16:05:17 +08:00
    @metaquant
    什么意思?线上的语言工作经验长,收入多?线下的语言收入和工作经验关联少?
    dabaibai
        31
    dabaibai  
       2019-04-12 16:12:03 +08:00
    所有后端
    CodeCore
        32
    CodeCore  
       2019-04-12 16:41:25 +08:00
    嵌入式 C/C++ 都用.
    还有很多基础软件基本也是他俩写.
    deadEgg
        33
    deadEgg  
       2019-04-12 16:55:05 +08:00
    纯 c: 驱动往上吧,比如 dpdk、spdk
    c++:应用型,比如著名的 btc、xmr、eos 都是 C++开发的

    用纯 c 来规定接口、oop 很恶心其实。而且隐式转型、靠地址转型又相对比较复杂,所以不太适合大型应用的开发(考虑到效率)。
    而 c++既有 c 的优点,又解决了 c 的一些缺点,所以大型用开发还是相对快速的
    zjsxwc
        34
    zjsxwc  
       2019-04-12 17:07:41 +08:00
    没有 GC 的高性能需求
    vexxx
        35
    vexxx  
       2019-04-12 17:33:18 +08:00
    c 适合写小而精的代码,linux 底层代码都用 c。
    c++适合大型应用,例如图形等复杂应用。
    glfpes
        36
    glfpes  
       2019-04-12 18:45:59 +08:00 via Android
    推荐引擎 需要高性能的东西。
    zichen
        37
    zichen  
       2019-04-12 19:32:15 +08:00
    @Counter 除了那哥们说的,还有 rocksdb,leveldb,再延伸到分布式存储方面,glusterfs,ceph,这些也都是 c/c++写的。
    allinQQQ
        38
    allinQQQ  
       2019-04-12 19:34:14 +08:00 via iPhone
    信息安全,网络通信等
    weifengzi2009
        39
    weifengzi2009  
       2019-04-12 19:47:50 +08:00
    高频交易、超算(当然还有 Fortran 等语言)
    hkitdog
        40
    hkitdog  
       2019-04-12 22:53:24 +08:00 via iPhone
    工用,例如自化流水上的控制台,ATM 客端
    真用 c/cpp crud 的
    yanaraika
        41
    yanaraika  
       2019-04-12 23:04:36 +08:00 via Android
    @coderluan 瞎扯。HPC 现在 C++用的比 C 多多了
    Destiny97
        42
    Destiny97  
       2019-04-12 23:11:08 +08:00 via Android
    bootloader 就是初始化好硬件,如看门狗,时钟,dram,刚开始是用汇编操作,因为 c 语言跑不起来,设置 sp 指针后,清除 bss 段初始化环境后就可以交给 c 了
    tairan2006
        43
    tairan2006  
       2019-04-13 00:06:15 +08:00
    Rust 可以替代一部分 C/C++的工作了,但是这个语言的设计总感觉有一些缺陷
    usingnamespace
        44
    usingnamespace  
       2019-04-13 01:01:45 +08:00 via iPhone
    @wwqgtxx ? Redis 干干净净的 ANSI C 写得谢谢
    wwqgtxx
        45
    wwqgtxx  
       2019-04-13 07:09:52 +08:00 via iPhone
    @usingnamespace ansi c 就不是 c 了么?我只是说这些个软件是 c 或者 c++写的,有啥问题?
    SunFarrell
        46
    SunFarrell  
       2019-04-13 10:42:50 +08:00
    发波内推要求
    if (熟练掌握 Qt)
    printf("PC 音视频开发! ");
    else if (会一点 QT && (熟悉 图像处理 || 图形渲染))
    printf("做图像处理 /图形渲染 /音视频开发方向!");
    else
    printf("没了");

    以上两个职业,比较喜欢招年轻有潜力的(以后让你学学机器学习能快速应用),直播行业,待遇不会差的,简历发这里 [email protected]
    lizhuoli
        47
    lizhuoli  
       2019-04-14 10:57:24 +08:00 via iPhone
    音视频,图像编解码,只能上 C/C++,因为必须且一定需要汇编和连汇编
    coderluan
        48
    coderluan  
       2019-04-14 16:39:16 +08:00
    @yanaraika 请正确理解我的意思,我并不是说 C++没 C 多,而是说这些领域中 C++主要使用性能好的特性,而这些特性大多继承自 C 语言。
    yanaraika
        49
    yanaraika  
       2019-04-14 22:48:02 +08:00 via Android
    @coderluan 并不。std::sort vs qsort。能用 expression template 消除无谓 copy/allocation 的矩阵库 vs BLAS。
    usingnamespace
        50
    usingnamespace  
       2019-04-15 11:23:16 +08:00 via iPhone
    @wwqgtxx 瞎了不好意思。。不知道为啥没注意到你写了 c
    jxf2008
        51
    jxf2008  
       2019-04-15 11:57:29 +08:00
    @coderluan
    你不是一直叫人学 java 不要去学 c/c++的么?
    coderluan
        52
    coderluan  
       2019-04-15 15:37:10 +0800
    @jxf2008 是啊,现在也是,但是我说的是参加培训的情况。
    coderluan
        53
    coderluan  
       2019-04-15 15:51:03 +08:00
    @yanaraika 我都说“大多”了,你就拿一两个情况反驳我...... 你拿出统计数据我直接认输,当然反过来我也没统计,所以“ HPC 中 C++用主要特性大多继承自 C 语言”这个我不和你争,没数据只靠经验谁也说服不了谁。你知道我没说过 C++没 C 多就行。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     916 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 20:48 PVG 04:48 LAX 13:48 JFK 16:48
    Do have faith in what you're doing.
    ubao 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