C++支持 import 了

2023-05-21 21:59:22 +08:00
 nkchn

import std 哈哈哈

2406 次点击
所在节点    分享发现
14 条回复
nkidgm
2023-05-21 22:42:28 +08:00
村网通?
inhzus
2023-05-21 23:10:12 +08:00
距离 P1103R3 这个提案都已经过去四年了...
agagega
2023-05-21 23:42:31 +08:00
联想到了上次 Rust 帖子里那位觉得用 C++写项目很老土的 V 友,就是不知道认为 C++老土的,和反感 C++加新东西的,是不是同一批人……
C47CH
2023-05-22 01:45:54 +08:00
C++正在向现代化编程语言迈进!
whi147
2023-05-22 10:36:41 +08:00
早就有了
Masoud2023
2023-05-22 11:37:26 +08:00
这个 feature production ready 吗?

有配套的比如包管理之类的支持吗?

愿闻其详
yy77
2023-05-22 11:42:09 +08:00
include 不要了?
反正 c++这些新 feature 需要掌握的人也会越来越少吧。
lxdlam
2023-05-22 13:47:17 +08:00
从 P1103R3 之后,Module 在标准化上就通过了一个比较重要的提案 P2465R3 (将标准库 module 化),而之前听过一个大佬的分享,实际上从有到能用到堪用再到好用,还有很长的路径要走。

比如,随便可以举出来好几个问题:
1. 最基本的,编译时间、增量编译和宏的兼容方案?
2. Module 的 cache 产物统一:目前 gcc (gcm) 跟 clang (pcm) 跟 MSVC 是完全三套,先不提如何兼容,这离 Module 想达到的目标还很远;
3. 如何分发产物?如果分发 .so ,跟现在的情况有什么改变?如果分发编译 cache ,怎么在经典的 ABI 、Linking 等等问题下保持可用?如果需要用户单独编译,那为什么不直接分发源码?
5. 现有的工具链如何兼容适配?编译优化( ccache 等),包管理( conan 等)以及相关的 module 生态等,目前都没有一个明确说法。

至少在我看来+乐观估计,得等 5~10 年,等到这些问题有一个解决方案,才能达到堪用水平,我们才能说“C++ 有了 Module”。
alexsunxl
2023-05-22 14:13:29 +08:00
好像核心区别是 一个基于文本,一个基于二进制的?
codehz
2023-05-22 19:10:50 +08:00
@lxdlam module 估计永远不能非源码分发,其他语言的“模块”/“第三方包”,具有高级特性的(也就是不能被 c abi 描述的,更别说脚本语言了)也基本走源码分发,少数如 c# java 才有字节码分发
从这个角度说,其实能用源码分发就够用了,给源码和开源是两回事)
看作 pch 的自然演化就好了(
qrobot
2023-05-23 10:59:59 +08:00
@lxdlam 我写了 C++/C 一段时间, cmake qmake msvc, 这些东西我感觉都没有很好的三方依赖管理库, 例如 vcpkg 或者 msys2 等等. 我感觉 C++ 分裂很大, 有时候为了加一个依赖库, 我甚至要编译对应的三方项目, 但是三方项目有依赖其他的, 这样编译起来非常麻烦. msys2 很棒, 但是有时候还是找不到对应的包, 例如 在 window 上, vcpkg 很不错, 但是包不怎么全. 感觉 C++ 中 各种编译平台百花齐放.


可能我是一个新手吧. 反正我感觉搞 C++ 大部分时间在环境搭建上, 少部分时间在代码编写上
qrobot
2023-05-23 11:00:41 +08:00
@qrobot 但是这些在 Linux 上编写就很舒服, 基本上 apt 就可以搞定大部分的依赖
des
2023-05-23 12:33:15 +08:00
@qrobot 然后换个系统就寄了😅
x93008x
169 天前
@qrobot 不得不推一下 conan 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/941757

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX