- 2024-11-20递归定义
GNU“GNU”是“GNU'sNotUnix!”(GNU并非Unix!)的首字母递归缩写。平衡二叉树也叫AVL树,它或者是一颗空树,或者具有以下性质的二叉排序树:它的左子树和左子树的高度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。 前序遍历(preordertraversal)首先
- 2024-11-19流和向量(Streams and Vectors)
在GNURadio的官方教程中,提到了两个重要的块连接方式:流和向量(StreamsandVectors)。具体的章节链接为:
- 2024-11-18Jluosne的GNU Radio 频道的介绍
Jluosne的GUNRadio的频道本频道主要发布有关GUNRadio有关的学习路径和学习资料,相关材料涉及到GUNRadio官方网站和优质的博文会进行refencemark。欢迎大家的关注和评论。本频道的内容发布周期非节假日为日刊,节假日休刊。不定期休刊,休刊会提前发布声明。本频道的发布内容早
- 2024-11-07GDB交叉编译
GDB交叉编译1.环境编译环境:Ubuntu20.04目标平台:RK35662.下载gdb源码,我选择使用10.1版本https://ftp.gnu.org/gnu/gdb/?spm=a2c6h.12873639.article-detail.7.96081599YGoRcW3.解压$tar-xvfgdb-10.1.tar.gz4.configure配置--prefix指定编译输出路径CC指定
- 2024-11-03riscv64-unknown-linux-gnu-strip 的功能
riscv64-unknown-linux-gnu-strip 是针对RISC-V架构的GNUstrip工具的一个版本,用于处理RISC-V架构下的可执行文件、共享库文件以及目标文件。strip 命令的主要作用是去除这些文件中的符号表和调试信息。具体来说,strip 命令的用处包括以下几个方面:减小文件大小:通过去
- 2024-11-01C语言的一些Hacking写法
很显然,这些写法大多并不规范,也不被提倡。很显然,咱并没有在windows下试过这些代码,而且实测大部分在线编程网站用的是Linux,可以接受GNUC扩展支持。如果有人问我为什么折腾,为什么以折腾这些无聊的东西作为目标,那他们完全可以问,为什么要登上最高峰?为什么人类要登月?………我选择去折
- 2024-11-01Richard Matthew Stallman
RichardMatthewStallman被誉为自由软件的斗士和精神领袖,是伟大的理想主义者。作品:GNUEmacsGPLCopyLeftFSF 进入八十年代后,黑客社群在软件工业商业化的强大压力下日渐土崩瓦解,黑客文化正在受到攻击,Matthew作为一名黑客,于1985年发表了著名的GNU宣言(GNUManifes
- 2024-11-01C语言用GNU源码编译建构系统工具(GNU BUILD SYSTEM)编译创建动态库
C语言用GNU源码编译建构系统工具(GNUBUILDSYSTEM)编译创建动态库首先看一下这篇博文:C语言数据结构之顺序结构(Sequence)此次目的是将sequence.c改造一下,创建为一个动态链接库同时打包一个可发布的源码包,包括源码、头文件、测试文件!创建工作目录工作目录libmg(mg即muggles,一
- 2024-10-28黑客新手入门应该懂的Linux 细节知识
Linux到底是什么?Linux是_*一个_*家族开源的类Unix操作系统基于Linux内核l.Linux是LinusTorvalds的创意。显然.他制作Linux是为了好玩,并于1991年9月17日发布了Linux的第一个版本。据传Linux的创造者打算将他的发明命名为Freax,但未经LinusTorvalds
- 2024-10-26GNU编译器(GCC)原理简介
GNU编译器(GCC)原理简介 GNU编译器(GCC,GNUCompilerCollection)是GNU工具链的关键组件,与GNU、Linux相关项目的标准编译器。它设计之初仅用来处理C语言的(也被称为GNUC编译器),紧接着扩展到C++、Objective-C/C++、Fortran、Java、Go等编程语言。目前,GCC已经被以知道各种指令集体
- 2024-10-21x86_64架构下交叉编译aarch64架构所使用的qt库
本文基于qt版本5.12.8在x86_64位上交叉移植出aarch64架构使用的库一、编译环境x86_64uisrc@ubuntu:~$archx86_64uisrc@ubuntu:~$^Cuisrc@ubuntu:~$二、QT版本5.12.8下载解压wgethttp://download.qt.io/archive/qt/5.12/5.12.8/single/qt-everywhere-src-5.12.8
- 2024-10-20GNU链接器(LD):使用链接脚本符号统计存储器使用率
0参考资料GNU-LD-v2.30-中文手册.pdfGNUlinker.pdf1前言一个完整的编译工具链应该包含以下4个部分:(1)编译器(2)汇编器(3)链接器(4)lib库在GNU工具链中,对应的是:(1)编译器:GCC(GNUCompilerCollection,GNU编译器套件)(2)汇编器:GAS(GNUAssembler,GNU汇编器)(3)链接器:LD(GNULinker,G
- 2024-10-17利用Visual Studio调试WSL下的C++工程
这里写了一个基于Qt5的控制台的小代码:#include<QCoreApplication>#include<QDebug>intmain(intargc,char**argv){ QCoreApplicationa(argc,argv);qDebug()<<"Applicationstarted";inttestValue=42;qDebug()<<"
- 2024-10-16Linux历史
Linux于1991年由芬兰学生LinusTorvalds作为个人项目开始,旨在创建一个新的免费操作系统内核。在其历史发展中,Linux内核经历了持续的增长。自1991年首次发布源代码以来,Linux内核从少量的C语言文件,且受限于禁止商业发行的许可,逐步发展到2018年发布的4.15版本,其
- 2024-10-15gcc g++ 的区别
GNUgccg++的区别GNU(GNUCompilercollection)是编译工具集,而g++(GNUc++compiler),gcc(GNUccompiler)从属于GNU;g++,gcc不是真的编译c/c++程序,而是调用GNU中的编译器;GNU包括:编译器,链接器,组装器等;gcc,g++最好只用来分别编译c/c++,别混用;gcc>g++原因在于gcc可
- 2024-10-14交叉编译器的命名规则是什么?
交叉编译器(cross-compiler)是用来编译可在与编译器运行环境不同的架构或操作系统上运行的代码的工具。交叉编译器的命名通常遵循一个约定,以便能够描述编译器的目标平台。这个命名规则主要包含以下几个组成部分,通常顺序为:目标架构(TargetArchitecture):表示编译器生成代码的目标处
- 2024-09-28软件无线电硬件平台USRP简介
目录一、平台概述1.1.设计理念1.2.应用场景1.3.常见型号1.3.1.N系列1.3.2.E系列1.3.3.B系列二、硬件组成2.1.母板2.2.子板2.3.天线三、主要特点3.1.灵活性3.2.高性能3.3.可扩展性3.4.开源支持3.5.广泛的软件支持四、软件支持4.1.GNURadio4
- 2024-09-26如何在CMakeList项目中集成GNU Autotools 构建模块
背景:我有三个工具A,B,C,其中A,B是原先MakeFile编译的工具,C是原先GNUAutotools自动编译的工具。现在希望使用CMakeList统一构建,我的目录如下:||–A|-----/src|-----CMakeList.txt|–B|-----/src|-----CMakeList.txt|–C|-----autoTool|–CMakeList.txt想要起到的效
- 2024-09-20交叉编译valgrind在嵌入式设备上调试程序
valgrind是一个很好的内存检测工具,可以让程序员避免用“瞪眼法”去定位内存泄露问题。下面记录一下本人在arm64上使用valgrind的过程。目录1.下载最新版本的valgrind源码2.解压3.编译4.打包4.运行5.报错及解决方法1.下载最新版本的valgrind源码https://sourceware.org/ftp/valg
- 2024-09-15Ubuntu 18.04搭建RISCV和QEMU环境
Ubuntu18.04搭建RISCV和QEMU环境 原文:https://blog.csdn.net/Eng_ingLi/article/details/135285200 前言因为公司项目代码需要在RISCV环境下测试,因为没有硬件实体,所以在Ubuntu18.04上搭建了riscv-gnu-toolchain+QEMU模拟器环境。安装riscv-gnu-toolchainriscv
- 2024-09-12一套小工具
本文作者YileWang,在GNUFreeDocumentationLicenseversion1.3下发布。不提供任何担保。本文给出的部分代码在GNUGeneralPublicLicenseversion3,oranylaterversion下发布,详见对应代码的文件头声明。COPYINGCopyright(c)2024YileWangPermissionisgr
- 2024-09-11gcc / g++ 编译的区别
今天在群里聊天的时候突然发现自己叫不清楚gcc/g++这两个东西。于是学习并且进行总结分享一下。GCC:GNUCompilerCollectionGNU编译器集合。那么GNU又是什么呢?是一个操作系统!具体涉及到一些历史知识和开源运动,放入下面的链接里啦https://www.gnu.org/home.zh-cn.html所以
- 2024-09-05glibc-2.17 编译失败
报错如下:Error:`_obstack@GLIBC_2.2.5'can'tbeversionedtocommonsymbol'_obstack_compat'修复方法:修改代码diff--gita/malloc/obstack.cb/malloc/obstack.cindex5786da0aa4..c27a422077100644---a/malloc/obstack.c+++b/malloc/obstack.c@@
- 2024-09-03Gnu: binutils: ld: .gnu.warning.链接时的主动警告 glibc
这个是一个gnu的extension,glibc会使用这个功能,标记即将被淘汰的符号,产生链接时的警告,比如:/*WhenareferencetoSYMBOLisencountered,thelinkerwillemitawarningmessageMSG.*//*Wewantthe.gnu.warning.SYMBOLsectiontobeunallocated.*/#defin
- 2024-09-01GNU与Linux 的关系
问题1:GNOME是什么?GNOME是一个自由且开放源代码的桌面环境,广泛用于基于Linux和其他类Unix操作系统的计算机上。GNOME(GNUNetworkObjectModelEnvironment)的设计目标是提供一个简单、易于使用且现代化的用户界面,让用户能够轻松管理和操作系统资源。主要特性:用户友好:GNOM