是所有 linux 下的函数 我都可以在 clion 的 mac 环境下进行调用 ,并且编译调试成功嘛? 比如 epoll pthread 等等
这是什么原理呢? mac 不是 unix 的系统嘛,和 linux 应该还是有不少缺点的吧
我之前一直以为要学 linux c 编程 必须要装个 linux 虚拟机才行
有大佬可以指点一下嘛,
1
edk24 2023-02-13 09:22:53 +08:00
无所谓 c 会出手, c 可以在 win mac lin 上运行和编译, 担心多余了
|
2
BingoXuan 2023-02-13 09:27:05 +08:00
大家都是类 unix 系统(虽然 macOS 好像有 bsd 的授权,但和正统 unix 还是差太远了),unix api 应该都是有的。
在 macOS 上 epoll 应该不能调用吧。可以用 clion 编译好直接上 docker 运行或者 debug 。 |
3
pagxir 2023-02-13 09:32:09 +08:00 via Android
epoll 不行,不过 kqueue 应该可以
|
4
pming1 2023-02-13 09:36:12 +08:00
学 C ,用 Linux 才是最好的吧
|
5
PTLin 2023-02-13 09:49:02 +08:00
什么时候你要用到 clone ,io_uring ,epoll ,signalfd 什么的在装虚拟机也不迟。
|
6
echo1937 2023-02-13 09:54:12 +08:00
如果你是学习 Linux C 编程,你需要有远程 Linux 环境,
在 Clion 进行简单设置以后,可以一键在远程环境进行编译、运行, 省去手动拷贝源代码至远程环境、编译、运行的步骤。 如果你只是学习 ANSI C ,那倒是不需要远程 Linux 环境。 |
7
YYSn5k19667xsfSA 2023-02-13 10:08:19 +08:00
CLion 的 IDE 功能很强大,但个人感觉文件同步没有 VS Code 舒服。
|
8
levelworm 2023-02-13 10:40:47 +08:00 via Android
装个 linux 虚拟机也行。我感觉学习一门新语言还是 vscode 舒服。
|
9
Elaina 2023-02-13 10:48:41 +08:00
除了楼上说的,还有一点就是如果你用的 Arm 架构的 M1 芯片,写起来会挺难受的😂
|
10
hxysnail 2023-02-13 11:06:26 +08:00
我觉得装个 linux 虚拟机(服务器版就行),然后 vscode+remote 应该就可以愉快地玩耍了
|
11
xFrye 2023-02-13 11:15:43 +08:00
学习的话,clion 可以连本地 docker 的 Linux 环境当 toolchain
|
12
lucifer9 2023-02-13 11:41:36 +08:00
@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 中重新获得了合规性。
|
13
fgodt 2023-02-13 11:48:59 +08:00
epoll 不行 Mac 是 kqueue ,不过这两个东西都大同小异,建议还是在 Linux 上开发
|
14
emperinter 2023-02-13 12:52:38 +08:00
有些项目对 M 系列支持不够友好,基本都是基于 X86 或 ARM 的 linux 做了条件编译。mac 上一堆 error 报错,缺少相关支持。
|
15
pennai 2023-02-13 13:02:38 +08:00
有些 API Linux 上有 mac 是没有的,即使有接口也不一定完全相同,建议要学 linux c 的话一开始就在 linux 搭环境,这样体验最好
|
16
3dwelcome 2023-02-13 13:28:52 +08:00
正常来说,都是装一个 linux 虚拟机,在虚拟机里运行 vscode 。
但我不是,写代码久了,就会有属于自己的高度定制化 IDE ,和 CI 集成编译自动化发布系统。 我更偏好用顺手的 IDE 写代码,可以用交叉编译远程发布。调试的话,一般我用 log 文件,原因是写服务器不同于客户端,BUG 都藏的很深,平时运行没那么容易挂。对于容易复现的 BUG ,挂个 gdb remote 调试就可以了。 |
17
madNeal 2023-02-13 13:32:09 +08:00
clion 都要停止维护了
|
19
tairan2006 2023-02-13 15:37:01 +08:00
Linux C 只能用 linux 环境,mac 差别很大的。
不过你可以用 docker 或者 multipass 搞一个 linux 环境。 |
21
xuyang2 2023-02-13 18:20:10 +08:00
|