Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
punkdead
V2EX  ›  Linux

问下 mac 下用 clion 学习 Linux c 编程的问题

  •  
  •   punkdead · Feb 13, 2023 · 4962 views
    This topic created in 1369 days ago, the information mentioned may be changed or developed.

    是所有 linux 下的函数 我都可以在 clion 的 mac 环境下进行调用 ,并且编译调试成功嘛? 比如 epoll pthread 等等

    这是什么原理呢? mac 不是 unix 的系统嘛,和 linux 应该还是有不少缺点的吧

    我之前一直以为要学 linux c 编程 必须要装个 linux 虚拟机才行

    有大佬可以指点一下嘛,

    21 replies  •  2023-02-13 18:20:10 +08:00
    edk24
    edk24
    Feb 13, 2023
    1
    无所谓 c 会出手, c 可以在 win mac lin 上运行和编译, 担心多余了
    BingoXuan
    BingoXuan
    Feb 13, 2023
    2
    大家都是类 unix 系统(虽然 macOS 好像有 bsd 的授权,但和正统 unix 还是差太远了),unix api 应该都是有的。

    在 macOS 上 epoll 应该不能调用吧。可以用 clion 编译好直接上 docker 运行或者 debug 。
    pagxir
    pagxir
    Feb 13, 2023 via Android
    3
    epoll 不行,不过 kqueue 应该可以
    pming1
    pming1
    Feb 13, 2023
    4
    学 C ,用 Linux 才是最好的吧
    PTLin
    PTLin
    Feb 13, 2023
    5
    什么时候你要用到 clone ,io_uring ,epoll ,signalfd 什么的在装虚拟机也不迟。
    echo1937
    echo1937
    Feb 13, 2023
    6
    如果你是学习 Linux C 编程,你需要有远程 Linux 环境,
    在 Clion 进行简单设置以后,可以一键在远程环境进行编译、运行,
    省去手动拷贝源代码至远程环境、编译、运行的步骤。

    如果你只是学习 ANSI C ,那倒是不需要远程 Linux 环境。
    YYSn5k19667xsfSA
    YYSn5k19667xsfSA
    Feb 13, 2023
    7
    CLion 的 IDE 功能很强大,但个人感觉文件同步没有 VS Code 舒服。
    levelworm
    levelworm
    Feb 13, 2023 via Android
    8
    装个 linux 虚拟机也行。我感觉学习一门新语言还是 vscode 舒服。
    Elaina
    Elaina
    Feb 13, 2023
    9
    除了楼上说的,还有一点就是如果你用的 Arm 架构的 M1 芯片,写起来会挺难受的😂
    hxysnail
    hxysnail
    Feb 13, 2023
    10
    我觉得装个 linux 虚拟机(服务器版就行),然后 vscode+remote 应该就可以愉快地玩耍了
    xFrye
    xFrye
    Feb 13, 2023
    11
    学习的话,clion 可以连本地 docker 的 Linux 环境当 toolchain
    lucifer9
    lucifer9
    Feb 13, 2023
    12
    @BingoXuan macOS 是一个符合 UNIX 03 标准的操作系统,由 The Open Group 认证。它从 2007 年开始,从 MAC OS X 10.5 开始。唯一的例外是 Mac OS X 10.7 Lion ,但在 OS X 10.8 Mountain Lion 中重新获得了合规性。
    fgodt
    fgodt
    Feb 13, 2023
    13
    epoll 不行 Mac 是 kqueue ,不过这两个东西都大同小异,建议还是在 Linux 上开发
    emperinter
    emperinter
    Feb 13, 2023
    14
    有些项目对 M 系列支持不够友好,基本都是基于 X86 或 ARM 的 linux 做了条件编译。mac 上一堆 error 报错,缺少相关支持。
    pennai
    pennai
    Feb 13, 2023
    15
    有些 API Linux 上有 mac 是没有的,即使有接口也不一定完全相同,建议要学 linux c 的话一开始就在 linux 搭环境,这样体验最好
    3dwelcome
    3dwelcome
    Feb 13, 2023
    16
    正常来说,都是装一个 linux 虚拟机,在虚拟机里运行 vscode 。

    但我不是,写代码久了,就会有属于自己的高度定制化 IDE ,和 CI 集成编译自动化发布系统。

    我更偏好用顺手的 IDE 写代码,可以用交叉编译远程发布。调试的话,一般我用 log 文件,原因是写服务器不同于客户端,BUG 都藏的很深,平时运行没那么容易挂。对于容易复现的 BUG ,挂个 gdb remote 调试就可以了。
    madNeal
    madNeal
    Feb 13, 2023
    17
    clion 都要停止维护了
    dongxf
    dongxf
    Feb 13, 2023
    18
    @madNeal 啊?哪里的消息?
    keenkiller
    keenkiller
    Feb 13, 2023
    19
    Linux C 只能用 linux 环境,mac 差别很大的。

    不过你可以用 docker 或者 multipass 搞一个 linux 环境。
    KotlinAmai
    KotlinAmai
    Feb 13, 2023
    20
    @madNeal 说的不是 AppCode 要停止维护吗,CLion 没听说过啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2378 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 04:53 · PVG 12:53 · LAX 20:53 · JFK 23:53
    ♥ Do have faith in what you're doing.