跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • Online Tools
  • 用户
  • 群组
折叠
品牌标识

D2Learn Forums

SPeakS

SPeak

@SPeak
d2learn-dev
关于
帖子
120
主题
17
群组
1
粉丝
5
关注
0

帖子

最新 最佳 有争议的

  • 显示vscode下载成功了 但一使用就显示'code.cmd'is not recognized......
    SPeakS SPeak

    测试了一下正常安装过程, 应该是没有问题的, 是不是之前安装过程存在中断或错误呢。 可以尝试卸载然后重新安装试一试

    xlings self clean
    xlings remove code@1.100.1
    xlings install code@1.100.1
    code --version
    

    具体示例

    image.png


  • 显示vscode下载成功了 但一使用就显示'code.cmd'is not recognized......
    SPeakS SPeak

    可以手动查看一下SPath这个路径下有没有code.cmd这个文件。
    (补充信息: 电脑有额外的D盘吗)


  • rt-thread 双链表分析及教程(附带demo)
    SPeakS SPeak

    @sky-littlestar 我说的意思就是把你上面的代码 整理一下 用项目(Demo)的方式 放到github, 不是说其他什么写法


  • rt-thread 双链表分析及教程(附带demo)
    SPeakS SPeak

    感觉是不是可以拆分一下, 把游戏主体 和 链表实现 分开 用比较项目的目录树风格, 然后放到github上 变成一个Demo项目


  • windows(powershell)安装xlings时出现乱码
    SPeakS SPeak

    @xyc 尝试按这个贴种的步骤 设置以下电脑的编码为 utf-8 然后再重新安装试一试 http://forum.d2learn.org/post/418


  • [请求支持]markdown+latex数学公式
    SPeakS SPeak

    备注一下使数学公式的使用语法

    单行公式语法 - $ 你的公式 $

    $ log_2^n $
    

    $ log_2^n $

    多行公式语法 - $$ 你的公式 $$

    $$ 
    log_2^n =>
    log_2^9 = 3 , n = 9
    $$
    

    $$
    log_2^n =>
    log_2^9 = 3, n = 9
    $$


  • 通过快排模拟IDE上qosrt的实现方法
    SPeakS SPeak

    算法复杂度直观通俗理解: 每次比较完成, 被选中的基准值会被放到最终他所在的位置, 所以比较N遍即可完成排序, 而每次比较完后会分裂成2个数组, 总的数组就 $log_2^N$级别

    所以算法复杂度就是 比较的遍数 x 要比较的数组的数量, 即:

    $$
    O(nlog_2^n)
    $$

    注: 文章写完后, 也可以分享到社区群里


  • 让cenos7也能轻松用上gcc15和C++23的import std特性 - 故事从xlings开源项目的一个issues开始
    SPeakS SPeak

    背景

    前段时间社区中xlings项目上有人提了一个关于centos7上 安装gcc15的但是不能使用的问题, 我一看原来是由于glibc的版本太老了导致的 (制作gcc15包的时候我也没考虑太多glibc版本依赖问题)

    于是我就折腾了几天给xlings工具增加了一个从源码构建gcc工具链的helper工具 musl-cross-make, 同时也提供了一个预构建的gcc15包, 让我们在centos7上可以用下面简单的方法就能安装gcc15或自己从源码构建gcc15. 最终效果如下:

    一键安装gcc15

    xlings install gcc@15
    

    自己在本地 一键从源码构建gcc15

    xlings install musl-cross-make #安装构建helper工具
    # 命令格式: musl-cross-make version [--output yourOutputDir] [--target yourTargetArch]
    musl-cross-make 15 --output mygcc-15
    
    • 原issues: https://github.com/d2learn/xlings/issues/107
    • xlings开源工具: https://xlings.d2learn.org

    下面是具体的问题解决过程, 以及 centos上 一键创建支持cpp23的cmake模板工程项目的使用示例&演示...

    一、问题和解决的过程

    Q1: GLIBC的版本依赖问题

    • https://github.com/d2learn/xlings/issues/107#issue-3300789666
    root/.xlings_software_install/xlings-main/bin/xmake: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /root/.xlings_software_install/xlings-main/bin/xmake)
    /root/.xlings_software_install/xlings-main/bin/xmake: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /root/.xlings_software_install/xlings-main/bin/xmake)
    /root/.xlings_software_install/xlings-main/bin/xmake: /lib64/libc.so.6: version `GLIBC_2.29' not found (required by /root/.xlings_software_install/xlings-main/bin/xmake)
    tools/install.unix.sh:行65: xlings: 未找到命令
    

    A1: 使用musl静态构建解决libc的依赖问题 - 已解决

    4bd6a426-c93c-4733-9075-fad0bd686261-image.png

    Q2: xlings install gcc@15.1.0安装后工具链的使用问题

    • https://github.com/d2learn/xlings/issues/107#issuecomment-3167203522

    A2: 更新了gcc包(包括15.1.0)对centos的支持, 添加了可从源码构建包的选择及工具

    • gcc: 预先构建的二进制gcc工具链包
      • 安装命令示例: xlings install gcc@15
    • fromsource:musl-gcc: 从源码构建基于musl的gcc工具链的xpkg包
      • 安装命令示例: xlings install fromesource:musl-gcc@version
    • musl-cross-make: 可自定义的工具链构建helper工具
      • 安装命令示例: xlings install musl-cross-make
      • 使用命令示例: musl-cross-make version --output yourInstallDir, musl-cross-make 9.4 --output mygcc-9 构建后会安装到当前目录的mygcc-9下

    原来的gcc

    9dd8c255-77dc-47ff-b5b6-6c6345fd1ae4-image.png

    安装gcc15

    c1b573d2-6a4d-4150-ba6d-c4b57015f415-image.png

    2eae2930-e8ba-440c-9742-dcaf5ee84ab3-image.png

    二、xlings在centos上的一些使用示例 (gcc工具链 + cpp23 import std模块)

    会自动安装依赖(gcc15 / cmake4 ...) , 并配置好环境

    一键创建模板项目 + 自动安装依赖和配置环境

    2c595d41-d0ed-424f-ada7-93ef240a09a7-image.png

    构建&运行演示

    aee61b54-60b2-4a53-8060-9d14f1462269-image.png

    三、其他

    • 相关的issus: https://github.com/d2learn/xlings/issues/107
    • xlings工具文档: https://xlings.d2learn.org/documents/quick-start/one-click-install.html
    • xlings工具仓库: https://github.com/d2learn/xlings
    • 包索引仓库: https://github.com/d2learn/xim-pkgindex
    • xlings社区论坛交流版块: https://forum.d2learn.org/category/9/xlings

  • windows 安装 xlings 报错: xlings / xmake 不是内部命令, Invoke-WebRequest 基础连接已经关闭
    SPeakS SPeak

    @tenp00 可能是临时的网络波动影响的下载安装包失败, 可以重新运行试一试. 如果还报这个问题, 可以按下面方法分两步安装试一试: https://xlings.d2learn.org/documents/qa.html

    image.png


  • 关于sonic实现音频变速不变调的问题
    SPeakS SPeak

    这里往stream里写数据的时候没有加filled的偏移, 导致重复把数据写到了buff的开头部分

    image.png


  • 关于sonic实现音频变速不变调的问题
    SPeakS SPeak

    @hammerers 是只要speed不是1就会报错 小于1和大于1有区别吗, crash的时候调用栈有吗


    补充仓库地址: https://github.com/hammerers/sonic_ffmpeg_sdl_audio_player


  • 关于sonic实现音频变速不变调的问题
    SPeakS SPeak

    可以提供一个最小可复现示例项目的zip或git仓库链接, 以及崩溃时的调用栈...
    (大面积代码更建议用文本, 截图不方便)


  • [论坛功能]: 邮件订阅/通知功能设置方法
    SPeakS SPeak

    1 个人设置页

    96cc2f72-ad7d-4efb-b4d5-0034fbffbc23-image.png

    2 有人回复时邮件通知

    157215f9-622b-4106-8f74-687759f5394b-image.png

    3 论坛的邮箱订阅

    关闭/每天/一周/两周

    f3fe1afe-3e26-4af2-8b98-86930ba9abc0-image.png


  • 关于 GitHub 中的 Fork 仓库的简单问题
    SPeakS SPeak

    mian分支 + feature分支

    • 每次改动不要直接在main上修改, 而是基于main拉出一个对应的feature分支
    • main分支只用来同步上游的代码
    • 如果在过程中 - 上游有新的改动
    • 先把上游代码同步到本地的main
    • 然后 在feature分支 rebase 到main分支
    • 功能开发完成后 就把feature分支 PR到上游
    • 在把合入上游的代码同步到本地的main
    • feature分支生命周期结束

    57a39a00-ba74-420c-8d5d-da46dcf9e85d-image.png


  • hello-mcpp中编译报错'auto' not allowed in function return type
    SPeakS SPeak

    刚刚更新优化了一下工具在macos平台上的控制台刷新机制


    如果macos上遇到控制台的输出不刷新或重复输出问题, 可以运行下面命令进行更新一下工具(默认只会覆盖xlings的核心代码, 不用但心之前的安装或配置的环境和数据缓存

    curl -fsSL https://d2learn.org/xlings-install.sh | bash
    

  • hello-mcpp中编译报错'auto' not allowed in function return type
    SPeakS SPeak

    @yiten94 在 hello-mcpp中编译报错'auto' not allowed in function return type 中说:

    error: 'auto' not allowed in function

    该问题已经修复

    • commit: https://github.com/Sunrisepeak/mcpp-standard/commit/7cfa6bce0d4356e492bf4a809de188cc0609151e

    在教程项目根目录运行代码命令即可更新到最新代码(或手动用git进行同步

    d2x update
    

  • hello-mcpp中编译报错'auto' not allowed in function return type
    SPeakS SPeak

    @yiten94 可以提供一下系统版本和具体的报错信息(报错时的控制台的输出, 包含练习名), 然后我分析一下原因


  • C++中的initializer_list获取列表长度并用于模板参数的编译期计算小示例
    SPeakS SPeak

    用 std::array的initializer_list + 一键计算字节的模板来演示用于模板参数的可能

    #include <iostream>
    #include <array>
    
    template <typename T, int SZ>
    struct Byte {
         static constexpr int size = sizeof(T) * SZ;
    };
    
    int main() {
        constexpr std::array<int, 4> arr {1, 2, 3, 4};
        std::cout << Byte<int, arr.size()>::size << std::endl;
        return 0;
    }
    

    50a93cd6-0573-478a-80c4-8de12bd9868a-image.png


    想法来自该视频评论区的讨论: https://www.bilibili.com/video/BV1vKuQzkEo2


  • [xlings | PR]: 优化非xlings工具安装软件的检测, 并修复windows下系统中已安装vscode后重复安装的问题
    SPeakS SPeak

    7b7a15fb-f3f1-400b-9120-3443fb667026-image.png

    • issues详情: https://github.com/d2learn/xlings/issues/104
    • pr详情: https://github.com/d2learn/xlings/pull/105

    修复代码&测试结果

    f9ac3a8d-12eb-40f4-868c-b4281fafcd2f-image.png

    验证步骤

    1.更新xlings到最新版本

    irm https://d2learn.org/xlings-install.ps1.txt | iex
    

    2.更新包索引

    xim --update index
    

    3.测试

    xlings remove code
    xlings self clean
    xlings install code
    

    预期输出

    code@system - already installed
    

  • [项目更新 | 2025/7/21]: 增加了同步最新练习代码的功能
    SPeakS SPeak

    由于项目处于持续更新阶段, 可以使用下面的命令进行自动同步(如果同步失败, 可能需要手动用git进行更新项目代码)

    d2x update
    

    10f89f6b-cc49-4636-ae4f-308e77f22c36-image.png

    3b0ab32f-4418-47cc-9525-fd793dfcdf39-image.png


    PR: https://github.com/Sunrisepeak/mcpp-standard/pull/8

    注: 需要更新到最新版本的xlings

  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
d2learn forums Powered by NodeBB
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 最新
  • 标签
  • 热门
  • Online Tools
  • 用户
  • 群组