• 2024-09-07musl libc 与 glibc 在 .NET 应用程序中的兼容性
    muslLinux和glibc是两种不同的C标准库实现,它们在多个方面存在显著差异。历史和使用情况:glibc是较早且广泛使用的C标准库实现,具有较长的开发历史和广泛的社区支持。它被大多数Linux发行版采用,特别是在桌面和服务器环境中。musl是一个相对较新的实现,旨在提供更小、更快
  • 2024-02-29Rust 交叉编译 macOS 为 Linux 和 Windows
    目录前言环境案例macOS编译为Linux和Windows可用二进制程序编译为Linux平台编译为Windows平台最后前言鉴于rust中文资料较少,遇到问题的解决方案更少。这里记录遇到的一些问题。Rust支持交叉编译,可以在macOS平台编译出Linux或者Windows可运行的程序,或者在Lin
  • 2023-12-01rust的musl toolchain
    rust项目常常会使用musl作为编译target,这个时候就会使用musl的工具链。musltoolchain安装在$HOME/.rustup/toolchain下面。通常可以用rustup安装,比如:rustupinstallstable-unknown-linux-musl也可以使用rust官方提供的脚本:curl--proto'=https'--tlsv1.2-sSfhttps://
  • 2023-11-12musl中strlen源码实现和分析
    最近在学习《C和指针》的第6章指针部分,在6.12章节看到了strlen函数的实现,联想到最近有在看musl的源码,于是就把musl中strlen的源码认真地分析了一下,发现源码中有一些有意思的点,特地写这篇文章跟各位感兴趣的小伙伴分享一下。本文重点对musl的strlen源码中的一些有
  • 2023-11-08glibc和musl libc的区别
    ++和gcc是GNU编译器集合中的两个组件,g++是GNUC++编译器,gcc是GNUC语言编译器。这两个编译器都使用glibc作为标准C库,glibc是GNU操作系统的标准C库,为支持C程序提供了许多函数和服务。简单来说,glibc是C标准库的一个实现,它包括头文件、函数库和其他的应用程序。而g++和gcc则是编译器
  • 2023-10-17【发现一个问题】macos m2 下无法使用 x86_64-linux-musl-gcc 链接含有 avx512 指令的 c 代码
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯一开始是使用golang中的cgo来编译:envCC=cCGO_ENABLED=1GOOS=linuxGOARCH=amd64\CGO_CFLAGS="-mavx-mavx2-mavx512f-mavx512vl-mavx512bw-O2"\gobu
  • 2023-10-08Alpine GNU C 库(glibc) Docker 镜像
    目录glibc和musllibc的区别AlpineC库Docker镜像dockehub说明Debian12上安装podman后期工作防走丢glibc和musllibc的区别g++和gcc是GNU编译器集合中的两个组件,g++是GNUC++编译器,gcc是GNUC语言编译器。这两个编译器都使用glibc作为标准C库,glibc是GNU操作系统的标准C库,为支
  • 2023-06-09【解决了一个小问题】macbook m2 下交叉编译 musl-gcc 支持的 gozstd 库
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯我的golang项目中使用了gozstd,在macbookm2下编译当然没有问题。可是当交叉编译linuxamd64的二进制时,遇到了问题。使用gnu-gcc是ok的envCC=x86_64-l
  • 2023-05-29Musl libc 库成功适配到 openEuler Embedded,推动欧拉嵌入式生态发展
    近期,RISC-VSIG在欧拉嵌入式操作系统上成功实现了musllibc的适配,完成了使用musllibc库替换glibc库构建镜像的工作。目前,以musllibc为基础库编译的镜像已在RaspberryPi4开发板上可用,这一成果推动了openEulerEmbedded的多态发展。编译镜像步骤说明:https://openeule
  • 2023-03-21#创作者激励#由一个编译参数引发的gn构建依赖图谱查询
    【本文正在参加2023年第一期优质创作者激励计划】(目录)起因事情的起因是这样子的,在给学生上课的时候,想演示一下kv存储(小熊派nano开发板),代码版本master,结果发现编
  • 2023-03-07Go构建遇到cgo动态库时解决方案
    1.问题golang构建程序很简单,当遇到需要调用c库时,如通常使用net,kafka,sqlite3程序运行时就会调用当前服务器的动态库,如果遇到没有库时,通常还需要下载比如alpine
  • 2022-10-181.2.2 musl pwn
    1.2.2muslpwn几个结构__malloc_context(与glibc中的main_arena类似)structmalloc_context{uint64_tsecret;#ifndefPAGESIZEsize_tpagesize;#endif
  • 2022-10-08#冲刺创作新星# #跟着小白一起学鸿蒙#[五]开源鸿蒙的4种编译方法
    作者:王石,胡瑞涛简介在#跟着小白一起学鸿蒙#[二]第一个OpenHarmony程序章节我们学习了如何开发一个OpenHarmony的终端程序,采用的方法就是使用BUILD.gn脚本文件,通过./build