gnu

lsnm10 天前
linux·jvm·c++·ubuntu·centos·gnu
【LINUX操作系统】线程操作了解了线程的基本原理之后,我们来学习线程在C语言官方库中的写法与用法。由实验结果可知,main和new thread的执行顺序并不固定。
心随_风动18 天前
linux·debian·gnu
Debian GNU/Linux的新手入门介绍Debian GNU/Linux 是现存最古老的 Linux 发行版之一,由 Ian Murdock 于 1993 年 8 月 16 日创立。其名称结合了他的女友(后成为妻子)Debra 和他自己的名字 Ian,体现了早期开源社区的人文色彩。Ian Murdock 在《Debian 宣言》中明确了项目的核心目标:以开源和自由软件精神构建一个稳定且完全免费的 GNU/Linux 发行版,避免用户手动收集和编译软件的繁琐。
木木不迷茫(˵¯͒¯͒˵)18 天前
arm开发·gnu·keil
Keil MDK‑5 中使用 GNU ARM GCC 的 -Wno-* 选项屏蔽编译警告在项目编译过程中,我们常常会遇到许多警告提示;而在有些情况下,当我们已经了解这些警告的原因时,可以选择忽略它们,从而减少干扰,集中精力修复其他更重要的问题。
菜一头包19 天前
linux·c++·学习·gnu
GNU,GDB,GCC,G++是什么?与其他编译器又有什么关系?在开始之前我们先放一段Hello World:hello.c然后就是一段老生常谈的描述了:要想让这段代码在Linux上运行,我们需要使用GCC预编译:将hello.c和stdio.h预编译为hello.i编译:将hello.i编译为hello.s汇编:将hello.s翻译为机器指令hello.o(.o目标文件)链接:链接各种需要的库和其他目标文件(该hello程序不需要)得到可执行文件hello.out(相当于windows的.exe)整个过程将高级语言翻译成了机器语言,而编译器,就是这样的一个工具。GC
MobiCetus23 天前
java·linux·运维·服务器·windows·ubuntu·gnu
Linux Kernel 9在 x86 架构中,中断发生时 CPU 需要跳转到对应的中断处理函数(Interrupt Service Routine, ISR)执行。那这个 ISR 的地址是如何定位的呢?我们可以从图中结构来一步一步说明这个查找过程。
MobiCetus24 天前
linux·运维·服务器·windows·ubuntu·centos·gnu
Linux Kernel 7在操作系统调度的宏大叙事中,线程间的切换不仅是调度器有序奏响的乐章,更是系统响应性的核心命脉。此前我们主要探讨的是 线程之间基于自愿(voluntary)发生的上下文切换 —— 即当前线程主动交出 CPU 使用权,甘为整体系统调度的节奏所用。然而,现代操作系统的高实时性要求远不止于“谦让”,于是我们走入了 抢占式调度(preemptive scheduling) 的深水区。
Bl_a_ck25 天前
开发语言·c++·gnu
【C++基础】GNU简介GNU(GNU’s Not Unix)是一个由**自由软件基金会(FSF, Free Software Foundation)发起的项目,目标是创建一个完全自由的操作系统。GNU 项目由理查德·斯托曼(Richard Stallman)**于 1983 年发起,旨在提供一个类 Unix 的操作系统,但完全由自由软件组成。
perseverance522 个月前
gnu
基于Arm GNU Toolchain编译生成的.elf转hex/bin文件格式方法✨如果是基于MDK Keil ARMCC编译器,可以借助自带的fromelf.exe 进行转换,如果使用arm GNU Toolchain工具链编译所生成的.elf文件,不要使用fromelf.exe 进行转换,两者不要混用。否则转换后的文件烧录后可能不能正常运行。
WIFI_BT_DEV2 个月前
linux·arm开发·驱动开发·嵌入式硬件·硬件架构·信息与通信·gnu
Linux设备驱动开发-UART驱动UART 有三条线,分别是 Rx,Tx 和 GND数据发送接收步骤:1.双方约定波特率2.拉低(从高电平) Tx 引脚维持 1bit 时间
WIFI_BT_DEV3 个月前
linux·c语言·arm开发·驱动开发·嵌入式硬件·硬件架构·gnu
Linux设备驱动开发-中断中断的核心是保存现场,处理现场,恢复现场流程:1.设置中断源2.设置中断控制器(屏蔽,优先级)3.设置 cpu 总开关(使能中断)
wzhao1013 个月前
linux·rust·gnu
elf_loader:一个使用Rust编写的ELF加载器本文介绍一个使用Rust实现的ELF加载器。下面是elf_loader的仓库链接:github:https://github.com/weizhiao/elf_loaderhttps://github.com/weizhiao/elf_loader
Once_day3 个月前
ar·gnu·gcc
GCC之编译(8)AR打包命令Author: Once Day Date: 2025年1月23日一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦…
乔宕一4 个月前
vscode·gnu·jlink
在 vscode + cmake + GNU 工具链的基础上配置 JLINKJLINK 官网链接 下载安装后找到安装路径下的可执行文件 将此路径添加到环境变量的 Path 中。打开 JFlash,选择新建项目 选择单片机型号 在弹出的窗口中搜索单片机 其他参数根据实际情况填写 新建完成: 接下来设置一下项目 把 Start Application 勾上,复位方式选择通过复位引脚复位。如果没有这个硬件条件则使用软件复位。 最后保存工程
LIKEYYLL5 个月前
服务器·gnu
GNU Octave:特性、使用案例、工具箱、环境与界面目录1. 基本特性2. 使用示例3. 主要模块与工具箱4. 环境与界面更多学术知识GNU Octave 是一个高水平的编程语言和环境,主要用于数值计算,特别是在科学和工程领域。它与 MATLAB 具有高度的兼容性,因此许多 MATLAB 的代码可以直接在 Octave 中运行。以下是关于 GNU Octave 的一些详细信息:
凛冬将至__6 个月前
linux·gnu·gcc
【GNU】gcc -g编译选项 -g0 -g1 -g2 -g3 -gdwarfGCC 的 -g 选项用于在编译时生成调试信息,这些信息会嵌入到生成的目标文件或可执行文件中,主要目的是为了支持调试器(如 gdb)对程序的调试工作。
凛冬将至__6 个月前
linux·服务器·gnu·objdump
【GNU】反汇编工具objdumpobjdump 是 GNU Binutils 工具集中的一个命令行工具,用于分析和显示目标文件(如二进制文件、目标文件、静态库和可执行文件)的详细信息。它是开发调试、优化和逆向工程的利器。他可以做到:
一丝晨光6 个月前
c语言·开发语言·c++·gnu·clang·gcc·g++
gcc 1.c和g++ 1.c编译阶段有什么区别?如何知道g++编译默认会定义_GNU_SOURCE?借用 gcc 1.c和g++ 1.c有什么区别? 的示例代码,以汇编代码为比较目标,再经过汇编,最后生成ELF文件,三个过程结果均无差异,这个阶段充分证明了c和c++是多么相似。
2739920296 个月前
服务器·gnu
GNU构建系统和Autotool经常使用Linux的开发人员或者运维人员,可能对configure->make->make install相当熟悉。事实上,这叫GNU构建系统,利用脚本和make程序在特定平台上构建软件。这种方式成为一种习惯,被广泛使用。本文从用户视角和开发者视角详细说明,这种构建方式的细节,以及开发者如何利用autoconf和automake等工具(autotools)创建兼容GNU构建系统的项目。
R6bandito_6 个月前
c语言·开发语言·汇编·c++·经验分享·gnu
C/C++常用编译工具链:GCC,Clang目录GNU Compiler CollectionGCC的优势编译产生的中间文件ClangClang的特点
Fr1nGeLove6 个月前
服务器·gnu
GDB(GNU Debugger)的使用教程官方文档参考博客参考视频run 运行程序break 打断点。方法1:break 函数名给函数打断点 方法2:break a.cpp:行号给某一行打断点