7

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

 1 year ago
source link: https://www.v2ex.com/t/915535
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  Linux

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

  punkdead · 20 小时 47 分钟前 · 1489 次点击

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

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

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

有大佬可以指点一下嘛,

21 条回复    2023-02-13 18:20:10 +08:00
edk24

edk24      20 小时 37 分钟前

无所谓 c 会出手, c 可以在 win mac lin 上运行和编译, 担心多余了
BingoXuan

BingoXuan      20 小时 33 分钟前

大家都是类 unix 系统(虽然 macOS 好像有 bsd 的授权,但和正统 unix 还是差太远了),unix api 应该都是有的。

在 macOS 上 epoll 应该不能调用吧。可以用 clion 编译好直接上 docker 运行或者 debug 。
pagxir

pagxir      20 小时 28 分钟前 via Android

epoll 不行,不过 kqueue 应该可以
pming1

pming1      20 小时 24 分钟前

学 C ,用 Linux 才是最好的吧
PTLin

PTLin      20 小时 11 分钟前

什么时候你要用到 clone ,io_uring ,epoll ,signalfd 什么的在装虚拟机也不迟。
echo1937

echo1937      20 小时 6 分钟前

如果你是学习 Linux C 编程,你需要有远程 Linux 环境,
在 Clion 进行简单设置以后,可以一键在远程环境进行编译、运行,
省去手动拷贝源代码至远程环境、编译、运行的步骤。

如果你只是学习 ANSI C ,那倒是不需要远程 Linux 环境。
routiner

routiner      19 小时 52 分钟前

CLion 的 IDE 功能很强大,但个人感觉文件同步没有 VS Code 舒服。
levelworm

levelworm      19 小时 19 分钟前 via Android

装个 linux 虚拟机也行。我感觉学习一门新语言还是 vscode 舒服。
Elaina

Elaina      19 小时 11 分钟前

除了楼上说的,还有一点就是如果你用的 Arm 架构的 M1 芯片,写起来会挺难受的😂
hxysnail

hxysnail      18 小时 54 分钟前

我觉得装个 linux 虚拟机(服务器版就行),然后 vscode+remote 应该就可以愉快地玩耍了
xFrye

xFrye      18 小时 44 分钟前

学习的话,clion 可以连本地 docker 的 Linux 环境当 toolchain
lucifer9

lucifer9      18 小时 18 分钟前

@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      18 小时 11 分钟前

epoll 不行 Mac 是 kqueue ,不过这两个东西都大同小异,建议还是在 Linux 上开发
emperinter

emperinter      17 小时 7 分钟前

有些项目对 M 系列支持不够友好,基本都是基于 X86 或 ARM 的 linux 做了条件编译。mac 上一堆 error 报错,缺少相关支持。
pennai

pennai      16 小时 57 分钟前

有些 API Linux 上有 mac 是没有的,即使有接口也不一定完全相同,建议要学 linux c 的话一开始就在 linux 搭环境,这样体验最好
3dwelcome

3dwelcome      16 小时 31 分钟前

正常来说,都是装一个 linux 虚拟机,在虚拟机里运行 vscode 。

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

我更偏好用顺手的 IDE 写代码,可以用交叉编译远程发布。调试的话,一般我用 log 文件,原因是写服务器不同于客户端,BUG 都藏的很深,平时运行没那么容易挂。对于容易复现的 BUG ,挂个 gdb remote 调试就可以了。
madNeal

madNeal      16 小时 28 分钟前

clion 都要停止维护了
dongxf

dongxf      16 小时 17 分钟前

@madNeal 啊?哪里的消息?
tairan2006

tairan2006      14 小时 23 分钟前

Linux C 只能用 linux 环境,mac 差别很大的。

不过你可以用 docker 或者 multipass 搞一个 linux 环境。
actar

actar      13 小时 33 分钟前

@madNeal 说的不是 AppCode 要停止维护吗,CLion 没听说过啊

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK