<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[许振坪的专栏]]></title><description><![CDATA[分享是最好的学习！！！欢迎交流（我的微信：kaoya508253）]]></description><link>https://blog.youkuaiyun.com/benkaoya</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; benkaoya]]></copyright><item><title><![CDATA[arm系列交叉编译器各版本区别]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/129542585</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/129542585</guid><author>benkaoya</author><pubDate>Tue, 14 Mar 2023 23:22:55 +0800</pubDate><description><![CDATA[softfp：armel架构（对应的编译器为gcc-arm-linux-gnueabi）采用的默认值，用fpu计算，但是传参数用普通寄存器传，这样中断的时候，只需要保存普通寄存器，中断负荷小，但是参数需要转换成浮点的再计算。hard：armhf架构（对应的编译器gcc-arm-linux-gnueabihf）采用的默认值，用fpu计算，传参数也用fpu中的浮点寄存器传，省去了转换，性能最好，但是中断负荷高。两者主要区别是，ABI是计算机上的，EABI是嵌入式平台上（如ARM，MIPS等）。]]></description><category></category></item><item><title><![CDATA[QEMU启动ARM64 Linux内核]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/129509269</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/129509269</guid><author>benkaoya</author><pubDate>Mon, 13 Mar 2023 22:41:31 +0800</pubDate><description><![CDATA[本文介绍采用 qemu 模拟ARM-64bit开发板，并启动ARM64 Linux内核。]]></description><category></category></item><item><title><![CDATA[QEMU启动ARM32 Linux内核]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/129469529</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/129469529</guid><author>benkaoya</author><pubDate>Sat, 11 Mar 2023 22:12:35 +0800</pubDate><description><![CDATA[QEMU启动ARM32 Linux内核]]></description><category></category></item><item><title><![CDATA[QEMU启动x86-Linux内核]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/129469116</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/129469116</guid><author>benkaoya</author><pubDate>Sat, 11 Mar 2023 21:44:21 +0800</pubDate><description><![CDATA[QEMU启动x86-Linux内核]]></description><category></category></item><item><title><![CDATA[Ubuntu软件包管理之apt与apt-get的区别]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/129468685</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/129468685</guid><author>benkaoya</author><pubDate>Sat, 11 Mar 2023 21:18:33 +0800</pubDate><description><![CDATA[彻底理清ubuntu之apt和apt-get区别]]></description><category></category></item><item><title><![CDATA[Ventoy多系统U盘启动解决方案（开源）]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/120346388</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/120346388</guid><author>benkaoya</author><pubDate>Fri, 17 Sep 2021 11:58:17 +0800</pubDate><description><![CDATA[简单来说，Ventoy是一个制作可启动U盘的开源工具。有了Ventoy你就无需反复地格式化U盘，你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件拷贝到U盘里面就可以启动了，无需其他操作。你可以一次性拷贝很多个不同类型的镜像文件，Ventoy 会在启动时显示一个菜单来供你进行选择。
重点是它开源：
github：https://github.com/ventoy/Ventoy
官网：https://www.ventoy.net


...]]></description><category></category></item><item><title><![CDATA[音频可视化入门]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/119670790</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/119670790</guid><author>benkaoya</author><pubDate>Fri, 13 Aug 2021 11:00:25 +0800</pubDate><description><![CDATA[今天看到一篇文章【音频可视化：采样、频率和傅里叶变换】，以千千静听左上角一组随着音乐跳动的柱子为例，深入剖析了幕后原理，有助于学些音频采样、频率和傅里叶变换。讲的非常好，还引用了斯坦福大学的数学系学生 3Blue1Brown 的视频，生动地介绍傅里叶变换的原理，非常棒：形象的介绍：什么是傅里叶变换？。注意：需要翻墙才能播放。


...]]></description><category></category></item><item><title><![CDATA[避免使用C语言中的可变长数组(VLA)]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/119026381</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/119026381</guid><author>benkaoya</author><pubDate>Fri, 23 Jul 2021 10:53:10 +0800</pubDate><description><![CDATA[最近看到了一篇文章《The (too) many pitfalls of VLA in C》，介绍了C语言中的可变长数组(VLA,  variable-length array)的诸多陷阱。

It generates much more code, and much slower code (and more fragile code), than just using a fixed key size would have done ~ Linus Torvalds


...]]></description><category></category></item><item><title><![CDATA[优秀的开源项目列表]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/111661701</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/111661701</guid><author>benkaoya</author><pubDate>Fri, 25 Dec 2020 10:04:14 +0800</pubDate><description><![CDATA[awesome-oss-by-country
这个仓库按照国别，收集每个国家 awesome（优秀的）开源项目，有兴趣的可以参考研究。

]]></description><category></category></item><item><title><![CDATA[命令行程序界面设计指南]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/111356366</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/111356366</guid><author>benkaoya</author><pubDate>Fri, 18 Dec 2020 11:37:20 +0800</pubDate><description><![CDATA[这份文档总结了一些设计规范，帮助你写出体验良好的命令行程序。
Command Line Interface Guidelines

]]></description><category></category></item><item><title><![CDATA[一个最小 Hello World]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/111355562</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/111355562</guid><author>benkaoya</author><pubDate>Fri, 18 Dec 2020 11:22:16 +0800</pubDate><description><![CDATA[这是一段再简单、再熟悉不过的 Hello World 代码。
#include &lt;stdio.h&gt;

int main() {
  printf("hello, world\n");
  return 0;
}

这个程序 gcc 编译后是 16KB，作者设法把它简化到170字节。从如今的磁盘资源来说，虽然实用性不大，但作者的这种研究精神令人敬佩。作者使用「文件尺寸」作为线索，你可以跟着作者一起，重温下程序的编译、链接和装载的过程，了解下那些被隐藏在幕后的技术。
原文链接：编写一个最小的 64 ]]></description><category></category></item><item><title><![CDATA[课程管理系统 Moodle 初体验]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/109745758</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/109745758</guid><author>benkaoya</author><pubDate>Tue, 17 Nov 2020 16:23:58 +0800</pubDate><description><![CDATA[这里写自定义目录标题1. 前言2. 简介3. 安装4. 命令5. 常用设置5.1 语言5.1.1 安装中文语言包5.1.2 设置系统默认语言5.1.3 设置个人语言偏好5.2 网站首页设置5.3 网站更换主题5.4 最大上传文件6 用户管理6.1 添加用户6.2 用户角色6.3 指派角色7 课程开发7.1 新建课程类别7.2 添加新课程8 选课8.1 选课方法8.2 查看已选课用户8.3 人工选课（管理员）8.4 自助选课 (学生)9 测验11 其他问题11.1 访客是否可以查看课程并进行测验11.2 修正]]></description><category></category></item><item><title><![CDATA[【学习GitLab】集成Redmine]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/108452682</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/108452682</guid><author>benkaoya</author><pubDate>Mon, 07 Sep 2020 17:48:59 +0800</pubDate><description><![CDATA[文章目录1 前言2 如何集成Redmine2.1 Webhook方式2.2 Integration方式
1 前言
最近在学习 GitLab，将学习成果做个简要总结。

官网地址：https://about.gitlab.com/
在线文档：https://docs.gitlab.com/ce/README.html
本地文档：用户登录后，点击右上角 Help 菜单
我的版本：GitLab Community Edition 13.3.4

2 如何集成Redmine
在 GitLab 中集成Redmine，]]></description><category></category></item><item><title><![CDATA[【学习GitLab】集成Jenkins]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/108452272</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/108452272</guid><author>benkaoya</author><pubDate>Mon, 07 Sep 2020 17:32:06 +0800</pubDate><description><![CDATA[文章目录1 前言2 如何集成Jenkins2.1 Jenkins配置2.2 GitLab配置
1 前言
最近在学习 GitLab，将学习成果做个简要总结。

官网地址：https://about.gitlab.com/
在线文档：https://docs.gitlab.com/ce/README.html
本地文档：用户登录后，点击右上角 Help 菜单
我的版本：GitLab Community Edition 13.3.4

2 如何集成Jenkins
通过 GitLab 的 webhook 功能，可以]]></description><category></category></item><item><title><![CDATA[【学习GitLab】hook]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/108451293</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/108451293</guid><author>benkaoya</author><pubDate>Mon, 07 Sep 2020 17:03:59 +0800</pubDate><description><![CDATA[文章目录1 前言2 GitLab hook2.1 web hooks2.2 custom hooks2.2.1 单仓库钩子2.2.2 全局钩子2.2.3 环境变量
1 前言
最近在学习 GitLab，将学习成果做个简要总结。

官网地址：https://about.gitlab.com/
在线文档：https://docs.gitlab.com/ce/README.html
本地文档：用户登录后，点击右上角 Help 菜单
我的版本：GitLab Community Edition 13.3.4

2 Gi]]></description><category></category></item><item><title><![CDATA[【学习GitLab】角色与权限]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/108447486</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/108447486</guid><author>benkaoya</author><pubDate>Mon, 07 Sep 2020 15:27:12 +0800</pubDate><description><![CDATA[文章目录1 前言2 权限与角色
1 前言
最近在学习 GitLab，将学习成果做个简要总结。

官网地址：https://about.gitlab.com/
在线文档：https://docs.gitlab.com/ce/README.html
本地文档：用户登录后，点击右上角 Help 菜单
我的版本：GitLab Community Edition 13.3.4

2 权限与角色
在 GitLab 系统中，项目分为私有项目、内部项目和公开项目三种。用户角色又分非项目成员和项目成员，项目成员还分Guest]]></description><category></category></item><item><title><![CDATA[【学习GitLab】常用设置]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/108446577</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/108446577</guid><author>benkaoya</author><pubDate>Mon, 07 Sep 2020 14:06:15 +0800</pubDate><description><![CDATA[文章目录1 前言2 GitLab常用设置2.1 语言2.2 是否允许自注册2.3 限制用户项目数量2.3 仓库路径是否只隶属于某个用户2.5 代码仓库可见性2.6 仓库访问协议2.7 禁用派生2.8 哈希仓库存储路径2.9 修改仓库路径(仓库路径是否安全)2.10 申请加入/退出项目2.11 能否禁用Web IDE直接修改并提交2.12 自带的issue状态能否自定义
1 前言
最近在学习 GitLab，将学习成果做个简要总结。

官网地址：https://about.gitlab.com/
在线文档：ht]]></description><category></category></item><item><title><![CDATA[【学习GitLab】初次安装]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/108434364</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/108434364</guid><author>benkaoya</author><pubDate>Sun, 06 Sep 2020 18:05:25 +0800</pubDate><description><![CDATA[【学习GitLab】初次安装前言安装GitLab-CE和GitLab-EE的区别环境要求安装方式安装命令卸载
前言
最近在学习 GitLab，将学习成果做个简要总结。

官网地址：https://about.gitlab.com/
在线文档：https://docs.gitlab.com/ce/README.html
本地文档：用户登录后，点击右上角 Help 菜单
我的版本：GitLab Community Edition 13.3.4

安装
官网指南：https://about.gitlab.com/]]></description><category></category></item><item><title><![CDATA[【单元测试】CMocka单元测试框架（支持mock功能）]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/100933141</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/100933141</guid><author>benkaoya</author><pubDate>Tue, 17 Sep 2019 17:30:53 +0800</pubDate><description><![CDATA[1. 前言
本文内容涉及单元测试，需要读者具有单元测试的基础知识，如果没有，请移步至我之前的博客文章：

【单元测试】开篇
【单元测试】Test Double简介

2. CMocka概述
官网：https://cmocka.org/
CMocka 是一款支持mock对象、面向C语言的单元测试框架，CMocka 往往是编译成库的形式，供C单元测试程序链接调用。其前身是谷歌开发的 Cmockery，...]]></description><category></category></item><item><title><![CDATA[【单元测试】FFF模拟框架]]></title><link>https://blog.youkuaiyun.com/benkaoya/article/details/100085663</link><guid>https://blog.youkuaiyun.com/benkaoya/article/details/100085663</guid><author>benkaoya</author><pubDate>Mon, 26 Aug 2019 20:58:13 +0800</pubDate><description><![CDATA[文章目录前言FFF框架简介入门体验下载fff.h头文件初次体验深入学习模拟函数形参模拟函数返回值重置模拟函数状态模拟函数调用记录模拟函数参数记录模拟函数返回值序列宏备忘录更多学习
前言
在学习单元测试的过程中，使用「模拟框架」隔离依赖是一项必须要掌握的技术。目前模拟框架有很多，琳琅满目，参差不齐。针对C语言模拟框架的初学者，我推荐FFF框架，因为该框架简单，易上手，而且有助于初学者掌握模拟框架的幕...]]></description><category></category></item></channel></rss>