- 2025-03-21【C++】函数重载
前置知识在介绍重载之前首先要讲清楚C++的编译过程,即编译器是如何将.cpp和.h等多个文件转换成一个可执行文件的C++中编译时要经过预处理、编译、汇编、链接四个阶段预处理:1、编译器会将代码中的宏展开,然后去除注释,将包含的头文件插入到预编译指令的位置,这个阶段会生成.
- 2025-03-20Java注解学习感悟
注解本文所有内容都只是个人感悟,并没有严格的定义和规范的理解,仅供参考.示例@RepositorypublicclassUserDaoImplimplementsUserDao{@OverridepublicList<String>findAll(){InputStreamin=this.getClass().getClassLoader().getResourceAsStre
- 2025-03-19编译器的语法糖
编译器处理: 语法糖:就是编译器把.java源码,编译为.class字节码的过程中,自动生成和转换的一些代码【减轻程序员的负担】。默认构造器【无参】:publicclassCat{}//=>publicclassCat{publicCat(){super();}}自动拆装箱:值在[-128,127]会重缓
- 2025-03-17《 C++ 点滴漫谈: 三十一 》函数重载不再复杂:C++ 高效调试与性能优化实战
摘要本篇博客深入探讨了C++中的函数重载及其调试技巧。首先,介绍了函数重载的基本概念及其在C++编程中的应用,强调了如何通过函数重载提高代码的灵活性和可读性。接着,我们讨论了函数重载的常见问题,如二义性、隐式类型转换和重载版本过多的情况,并提供了有效的调试技巧,包括
- 2025-03-17编译概述
从.c到可执行文件ps:写这篇文章主要是因为之前复现时遇到一道有关MIPS的汇编,完全不知道这是什么以及一直不太明白指令集架构相关的知识,索性趁着写复现笔记把编译整个流程梳理一下。如有不对的地方请指出(我们写一个.c文件,想要运行它,需要经过编译、汇编、链接等过程。在此过程中,
- 2025-03-16c语言中代码运行时发生c++弹窗的解决方法
在C语言代码运行时弹出C++风格的窗口可能是由于以下几种情况引起的:使用了C++库函数: 如果你的C代码中调用了C++标准库函数,这可能导致C++风格的窗口弹出。避免在C代码中使用C++库函数,确保只使用C标准库函数。链接错误: 如果C代码与C++代码混合编译,链接错误可能导致C++风格的弹窗
- 2025-03-15clion/idea/pycharm项目配置
环境搭建与配置pycharm篇markdownasrootidea篇clion篇构建cmake-Ssrc-Bbuild$CMAKE_OPTIONS编译cmake--build配置deployment,cmake(cmake配置编译目录,引用环境变量,cmake环境变量引用$CMAKE_OPTIONS)ccache配置ccache弄一个gcc和g++的软链,放在PATH最前面,再放真实
- 2025-03-15编写和运行你的第一个C++程序
1.简单的C++程序结构C++程序由一个或多个函数(function)组成,其中main函数是程序的入口点,操作系统通过调用main来运行C++程序。下面是一个最简单的C++main函数示例:#include<iostream>usingnamespacestd;intmain(){return0;}1.1函数的四个部分
- 2025-03-14预处理器指令
什么是编译器将源语言程序翻译为目标语言程序源语言程序:Csharp,C++等目标语言程序:二进制数表示的伪机器代码写的程序预处理器指令预处理器指令指导编译器在实际编译开始之前对信息进行预处理预处理器指令都是以#开始预处理器指令不是语句,所以它们不以分号结束折叠代码块
- 2025-03-13KICK第四讲Linux 系统下安装 GCC 编译器全指南
Linux系统下安装GCC编译器全指南GCC(GNUCompilerCollection)是Linux系统下最常用的编译器之一,支持C/C++、Java等多种编程语言。本文将介绍不同Linux发行版下的安装方法,帮助开发者快速配置开发环境。一、使用包管理器快速安装(推荐)大多数Linux发行版通过官方仓
- 2025-03-13低功耗编译器设计:AI芯片能效革命的核心——以Groq LPU为例
在AI芯片的竞争中,性能与能效的平衡已成为决定胜负的关键。随着大模型推理需求的爆炸式增长,传统GPU的功耗瓶颈日益凸显,而低功耗编译器设计正成为突破这一瓶颈的核心技术。本文将以初创公司Groq的LPU(LanguageProcessingUnit)芯片为例,探讨低功耗编译器如何通过优化指令调度、
- 2025-03-13MinGW
上次安装,这次又忘了,还是记一下吧MinGW(MinimalistGNUforWindows)是一个面向Windows操作系统的开发环境,包含了GNU编译器套装(GCC)和其他一些自由软件开发及应用工具。使用MinGW,开发者可以在Windows平台上编译、构建和运行用C、C++等多种语言编写的应用程序。下载地址https://www
- 2025-03-11Linux--编译器gcc/g++
ok,我们今天来学习linux里的gcc/g++编译型语言的处理过程预处理(Preprocessing)(进行宏替换)作用:预处理是编译过程的第一步,主要处理源代码中的预处理指令(以#开头的指令,如#include、#define等)。主要任务:宏替换:将代码中定义的宏(#define)展开。文件包含:将#include指定的头
- 2025-03-11【Linux】2025最新版GCC编译器入门指南(新手必看+附实战案例)
文章目录GCC的前世今生
- 2025-03-10Qt5.14.2用CMake创建项目(适配VS2022编译器)
本篇指得是用Qt创建项目并开发,以CMake的方式,使用VS的编译器。至于用VS开发Qt项目,很容易配置。------------------------正文--------------------------------Qt5.14.2只能使用VS2015或2017版本的编译器,所以Qt安装时我勾选VS201764bit,那么VS2022安装时也要勾选上VS2017的编
- 2025-03-09C++【类和对象】
类和对象1.this指针2.类的默认成员函数3.构造函数4.析构函数5.拷贝构造函数1.this指针接上文this指针存在内存的栈区域。2.类的默认成员函数定义:编译器自动生成的成员函数。一个类,我们不写的情况下会默认生成六个成员函数。3.构造函数函数作用:对象实例化时初
- 2025-03-09C++ 环境设置 功能 用法运用 详解
C++环境设置、功能、用法及运用详解一、C++环境设置C++是一种编译型语言,需要安装编译器和开发工具来编译和运行C++程序。以下是关于C++环境设置的详细介绍:主要组成部分C++环境通常由以下部分组成:C++编译器:将C++代码编译为可执行文件。常见编译器包括GCC(GNUCompilerColle
- 2025-03-05编译器优化揭秘:C语言二叉查找树的性能提升比较
一.应对在线测试题目的C语言代码(红黑树,AVL树)这里筛选了一个简单的AVl(二叉搜索树)实现的代码例子:点击查看代码#include<stdio.h>#include<stdlib.h>typedefstructNode{intdata;structNode*left,*right;intheight;}Node;//创建一个新节点Nod
- 2025-03-05keil软件下载安装使用(STM32篇)
一、前言Keil软件是一款专为嵌入式系统开发设计的集成开发环境(IDE),由德国Keil公司创立,后被ARM公司收购并持续更新维护。它集成了代码编辑、编译、调试和项目管理等功能,广泛应用于各类单片机的程序开发,尤其是基于ARMCortex-M内核的微控制器(如STM32系列)以及传统的8051单片机
- 2025-03-04局部变量的分配
前提我们知道inta是定义一个变量,但是知道他到底是怎么定义的吗,今天以F103板子为例子,说一下C语言的本质是如何的。首先看这些代码intg_a=123//全局变量intadd_val(volatileintv){volatileinta=321;//局部变量v=v+a;returnv;}int
- 2025-03-03盘点那些常见的嵌入式开发平台(8):开发工具与编程语言
目录一、嵌入式开发工具链1.1. 编译器(Compiler)1.2. 调试工具(Debugger)1.3. 烧录工具(Programmer)1.4. 模拟器与仿真器1.5. 构建系统与包管理二、嵌入式开发常用编程语言2.1. C语言2.2. C++2.3. Python2.4. Rust2.5. 汇编语言2.6. 其他语言三、工具与语言
- 2025-03-02C++避免“未使用变量警告”
C++避免“未使用变量警告”内容这个UNUSED宏的作用是显式标记未使用的变量或表达式,避免编译器产生"未使用变量"的警告。其实现原理和典型场景如下:宏展开后的行为//假设使用宏:UNUSED(foo);do{(void)(foo);//将变量强制转换为void类型}while(0)核心作
- 2025-03-02【keil运行Error之合集】 Error: L6218E: Undefined symbol “xxx“
1.编译错误:头文件找不到(FatalError:#5:cannotopensourceinputfile"xxx.h")原因:编译器无法找到头文件路径。解决方案:检查头文件是否存在于项目中,或路径是否正确。在Keil中设置头文件路径:OptionsforTarget→C/C++→IncludePaths,添加头文件所在目录。
- 2025-03-01C/C++跨平台SDK开发的注意事项
1.C/C++跨平台开发时有哪些值得注意的事项?1.1.你知道如何选择C++标准的版本吗?1.1.1.C++版本说明1.1.2.如何选择版本1.1.3.最佳实践1.2.源代码要如何保存,跨平台和跨IDE时才不会出现中文乱码?1.2.1.中文乱码问题与原因分析1.2.2.解决策略1.3.如何优雅的隔离
- 2025-03-01转义字符——二次转义输出转义字符本身
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、什么是转义字符?二、二次转义.通常情况下我们输出\n输出的是什么.如果想要输出“\n”这个字符串,而不是换行符呢?总结前言我们在平时的练习中会遇到输出一个转义字符本身的情况,下面是