- 博客(167)
- 资源 (9)
- 收藏
- 关注
原创 20.C语言多文件编译与管理技巧
本文介绍了C语言项目中如何管理多个源文件的编译过程。首先讲解了如何通过头文件和函数原型简化代码的组织。接着,介绍了如何避免头文件重复加载和如何通过extern和static关键字管理变量作用域。此外,文章还深入探讨了提高编译效率的方法,包括对象文件的分离编译和使用make工具自动化管理编译流程。
2025-01-14 21:43:39 473
原创 19.C语言关键字说明符解析
本文详细介绍了C语言中的关键字说明符,包括const, static, auto, extern, register, volatile, 和 restrict。每种说明符的作用、使用场景以及如何影响编译器优化和程序行为进行了深入分析,帮助开发者理解如何使用这些关键字提升代码的效率与可读性。
2025-01-14 21:42:41 628
原创 18.C语言文件操作详解:指针、打开、读取与写入
本文详细介绍了C语言中的文件操作,包括文件指针的使用和FILE结构的定义。通过示例说明如何使用fopen()打开文件,fclose()关闭文件,以及如何读取和写入数据。涵盖了文件操作函数,如fgetc、fputc、fprintf、fscanf和fgets,并探讨了标准流和重定向的概念,帮助读者掌握C语言文件操作的基本知识与技巧。
2025-01-13 21:44:08 966
原创 17.C语言输入输出函数详解:从缓存原理到常用函数用法
全面解析C语言输入输出函数,包括缓存和字节流的原理,常用函数如printf、scanf、sscanf、getchar、putchar、puts的详细使用方法与注意事项,以及废弃函数gets的安全性问题。帮助初学者快速掌握C语言的基础与实用技能。
2025-01-13 21:42:52 558
原创 16.C语言预处理指令详解:#define、#include、#ifdef 等高效用法
本文系统介绍了C语言中的预处理指令,包括常见的#define、#include以及条件编译指令#ifdef、#ifndef等的使用方法和最佳实践,涵盖基础与高级技巧,如宏参数替换、字符串化、粘合符号以及条件加载等,让开发者高效掌握预处理指令的功能,提升代码组织和优化能力。
2025-01-12 19:12:22 1114
原创 15.C语言枚举类型详解:基础用法、高级技巧与位掩码实现
本文深入解析C语言中的枚举类型,从基础语法到高级用法,包括枚举类型的常量定义、命名规范、赋值技巧以及结合位掩码的实现方式,助您在实际编程中高效使用Enum类型。
2025-01-12 19:11:01 767
原创 14.C语言Union详解:节省内存的利器
本文详细讲解了C语言中Union(联合体)的使用方法及其在节省内存方面的优势。通过代码示例说明了Union的定义、赋值方式、指针运算及typedef别名的使用,让开发者能够高效管理内存,提高编程技巧。
2025-01-11 20:16:19 619
原创 13.C语言中的typedef使用详解与优势
本文深入探讨了C语言中的typedef关键字,如何用它为基本数据类型、指针、数组、结构体等定义别名,从而提升代码的可读性、简化声明并增强可移植性。通过多个示例,展示了如何通过typedef提高代码的可维护性和理解度,以及如何处理复杂的数据类型声明。
2025-01-11 20:14:57 796
原创 12.C语言中的struct详解:定义、赋值、指针、嵌套与位字段
本文详细讲解了C语言中struct结构体的使用,包括如何定义和赋值、结构体指针的使用、结构体的嵌套和位字段等高级特性。通过具体示例,解释了如何高效地管理和操作复合数据类型,特别是在需要传递多个相关变量时。此外,讨论了内存对齐、复制与传递结构的注意事项,并介绍了弹性数组成员的实现方法,帮助读者深入理解结构体在C语言中的应用。
2025-01-09 22:12:51 1266
原创 11.C语言内存管理与常用内存操作函数解析
本文深入探讨了C语言的内存管理,包括栈和堆的概念,用户手动与系统管理的内存差异。重点介绍了常用的内存操作函数,如malloc、calloc、realloc和free,并讲解了如何使用void指针进行灵活的内存管理。此外,文章还涉及了restrict说明符的使用,以及内存复制与比较函数如memcpy、memmove和memcmp的具体应用,帮助程序员有效掌控内存的使用与优化。
2025-01-09 22:11:30 1132
原创 10.C语言字符串操作详解:声明、复制、比较与函数使用
本篇文章详细介绍了C语言中字符串的处理方法。C语言没有单独的字符串类型,字符串通过字符数组和字符指针进行表示和操作。文章涵盖了字符串声明、字符串长度计算、字符串复制与连接、字符串比较等基本操作,并详细讲解了常用的字符串函数,如strlen()、strcpy()、strcmp()、strcat()等。还特别介绍了如何安全地使用strncpy()、snprintf()等函数以避免内存溢出等安全问题。
2025-01-08 21:17:23 342
原创 9.C语言数组详解:定义、初始化、多维数组与指针运算
本教程全面介绍了C语言中的数组,包括数组的定义、初始化方法、多维数组的使用以及与指针的关系。深入探讨了数组长度计算、变长数组的特性以及数组的复制方法,并通过丰富的示例解析了数组指针运算与内存地址操作的核心概念。
2025-01-08 21:15:45 537
原创 8.C语言函数详解:声明、传参、递归与指针使用
本文深入探讨了C语言中函数的基本使用,包括函数的声明与调用方式、函数参数的传值与引用、递归的实现、函数指针的应用以及如何编写函数原型等内容。首先介绍了如何正确声明和调用函数,确保参数个数匹配并避免常见错误。接着讨论了传值引用与指针传参的不同,深入分析了函数指针的操作及其在动态函数调用中的应用。此外,还介绍了如何使用静态变量与常量修饰符优化函数行为,以及如何处理可变参数。通过示例代码,帮助读者更好理解这些概念,并能够高效使用函数在C语言程序中的多种应用场景。
2025-01-07 21:13:16 1081
原创 7.C语言指针详解:从基础到高级运算
本文深入解析了C语言中指针的概念与应用。包括指针的基本声明与初始化、指针运算符(* 和 &)的使用、指针与整数、指针与指针的加减运算、指针比较等常见操作。通过多个示例,帮助读者理解如何通过指针访问与操作内存地址,提升C语言编程技能。
2025-01-07 21:11:14 669
原创 6.C语言数据类型详解:字符、整数、浮点数等基础
本文详细介绍了C语言中的基本数据类型,包括字符类型、整数类型、浮点数类型、布尔类型以及字面量和字面量后缀的使用。通过实例解释了如何定义和操作这些类型,分析了C语言中的溢出现象,探讨了不同数据类型的存储方式与运算规则。还包括如何使用sizeof运算符获取数据类型大小,以及如何进行类型自动转换,帮助开发者深入理解C语言的数据类型系统及其应用。
2025-01-06 21:20:03 923
原创 5.C语言流程控制语句详解:if、switch、while、for、break、continue等
本文详细介绍了C语言中常见的流程控制语句,包括条件语句(如if、switch)、循环语句(如while、for、do...while)、跳转语句(如break、continue、goto)。通过逐步解析每种语句的语法、用法及常见错误,帮助开发者掌握如何在C语言程序中有效地控制执行流程。还介绍了三元运算符和嵌套语句的使用技巧,适合各级C语言学习者阅读。
2025-01-06 21:17:46 713
原创 4.C语言常用运算符解析:算术、关系、逻辑、位运算等
本篇文章详细介绍了C语言中的常见运算符,涵盖算术运算符(加、减、乘、除等)、关系运算符(比较大小、相等等)、逻辑运算符(与、或、非)、位运算符(与、或、取反等)、自增自减运算符及逗号运算符的使用和注意事项。此外,文章还讨论了运算符优先级的概念以及如何合理使用括号避免逻辑错误,是学习C语言编程的必备参考资料。
2025-01-05 18:24:03 924
原创 3.C语言变量的基础概念与使用
本文介绍了 C 语言中的变量概念,包括变量名的命名规范、常见的关键字与保留字、变量声明和赋值的规则以及变量的作用域。讲解了变量名的合法性、类型声明的必要性、赋值操作符的使用以及左值与右值的区别。进一步探讨了变量的作用域,区分了文件作用域与块作用域,并分析了作用域内外变量的可见性和覆盖规则。
2025-01-05 18:21:33 726
原创 2.C语言基础:语句、表达式、注释与标准库简介
本文详细讲解了 C 语言的语句、表达式、语句块以及 printf() 函数的使用,包括注释、空格规则和标准库的概念。通过实例解析语法规则与占位符的用法,帮助读者掌握 C 语言编程基础,提高代码规范性与可读性。
2025-01-04 19:33:56 819
原创 1.C语言教程:历史、特点、版本与入门示例
本文全面解析 C 语言的历史背景、核心特点、版本演进及编译流程,特别适合编程初学者和开发爱好者。文章提供详细的示例代码(如经典的 Hello World 程序),并对常用的开发工具与环境配置(如 Visual Studio 和 WSL)进行了推荐,帮助读者快速上手 C 语言开发。
2025-01-04 19:20:50 856
原创 11.动态代码注入技术详解
本文详解Windows系统中DLL注入及动态注入技术,包括其原理、实现步骤及应用场景。从内存映射到进程间通信,深入探讨PEB结构解析、API调用地址定位、函数注入等关键环节,并提供C/C++与汇编代码示例,帮助开发者轻松实现目标进程控制与内存操作。
2024-11-24 14:30:26 90
原创 docker零基础入门教程
如果你长期写C/C++代码,那你应该很容易发现C/C++开源项目存在的一个严重问题:只要作者没有将源码编译为可执行文件、现成的动静态库,需要我们自己去编译,就会有极大概率编译不出来、报各种错。究其根本在于C/C++过于复杂,尤其是其代码的编译环境往往需要各种依赖,并且在各个操作系统上的环境依赖还有很大可能是不一致的。而本文要介绍的docker便能很好的解决这个问题,但其解决的也不仅仅只是这一个问题。
2024-10-01 22:47:09 699 1
原创 3.操作系统基础入门
浏览器是操作系统中最核心的一个功能软件,在主流操作系统中都是会被预装上的。后续章节会对其进行更加深入、详细的介绍。这显然不可能,这一切的缘由是,Windows系统有一个文件后缀注册的功能,当一个软件注册使用了某个后缀名,那么当前系统中所有以该后缀名结尾的文件的图标都会更换为该软件所指定的图标样式,同时当你双击想要打开该文件时,也会使用对应的程序进行默认打开。根据上图的顺序,你就能看到当前你电脑上所有的环境变量,上面的是当前用户下的环境变量,下面的是系统级的环境变量,里面的变量存放的大多都是一些路径。
2024-10-01 10:48:35 311
原创 nuxt3框架入门
如今最火、最流行的前端框架是vue,但vue只能用于开发前端,这意味着前后端必须得分开开发。对于稍大点的公司来说,这样做问题并不大,毕竟人手充足,但对于小公司、乃至个人开发者来说,前后端分离开发实际上就是一件吃力不讨好的事情,很浪费人力、精力。而nuxt这个框架就能很好的解决这个问题,该框架直接集成了前后端,其前端依旧是使用vue框架,后端则使用nodejs生成web服务器。
2024-10-01 09:46:34 495
原创 WSL基本使用方法
wsl是windows下的一个子系统,可以让我们在windows下非常方便的使用linux系统。本文简单介绍一下一些wsl的高级用法。
2024-09-20 08:55:47 831
原创 哲风壁纸js逆向:实战爬取图片资源
本文将实战详解如何爬取哲风壁纸网站的图片资源,仅供学习参考,如有任何问题,请联系我删除。哲风壁纸这个网站有点难度,但整体而言并不算非常难,还有很大的反逆向余地,本文将详解如何对其进行基本的分析、逆向代码编写、批量图片爬取。
2024-09-20 08:52:01 1706
原创 第二十四章 rust中的运算符重载
C/C++中有运算符重载这一概念,它的目的是让即使含不相干的内容也能通过我们自定义的方法进行运算符操作运算。比如字符串本身是不能相加的,但由于C++中的String重载了运算符+,所以我们就可以将两个字符串进行相加、但实际的含义其实是拼接。而rust中同样存在类似的功能,其底层其实是前面章节便讲过的trait。
2024-09-08 12:44:43 620 1
原创 第二十三章 rust类型转换:from与into
let a=10;rust编译器将能够自动推导出a的类型为i32,因为字面量10的值就是i32。当然,这个特性在C/C++中可以使用auto关键字实现,包括本文要介绍的类型转换,C/C++同样也可以实现、甚至可能更加方便(比如强制转换?但rust能够通过人为指定返回值类型来推断函数返回值类型在C/C++中却是无法实现的(也就是本文要介绍的功能)。包括rust提供了安全性保证、其类型相当直观、即使是枚举类型也能实现方法进行任意类型转换,加上其简练优雅的语法,在体验上C/C++真的很难与之相比。
2024-09-08 12:43:53 499
原创 第二十二章 rust数据库使用:sea-orm详解
只要开发稍微大型一点的项目,数据库都是离不开的。rust目前并没有特别成熟的数据库框架,sea-orm这个框架是我目前所看到的成熟度最高的一个,并且仍在积极开发中。所以本文将以sea-orm框架为基础来了解rust中数据库的基本使用。
2024-09-07 08:20:46 1127 3
原创 第二十一章 rust与动静态库的结合使用
rust中多了很多类型的库,比如前面章节中我们提到基本的bin与lib这两种crate类型库。上面的rustc是rust中用来编译代码的工具,当我们运行cargo build命令的时候,该命令底层会使用rustc去构建源码、编译为可执行文件。比如你只有一个main.rs文件,那么可以这样执行:rustc main.rs,将该文件编译为可执行文件。bin:二进制可执行文件,必须要有main函数作为入口lib:它是一种代理名称,指代后续所有类型的库,但其默认指代的是rlib。
2024-09-07 08:19:16 725
原创 第二十章 rust多平台编译
相比于C/C++,rust最方便的一个东西除了包管理之外,便是跨平台编译了。rust提供了一系列的工具可以帮助我们非常容易的完成跨平台编译的目的。但经过我的实际使用经验来说,你想要实现在单一的物理机上跨平台编译其它系统的程序,依旧还是困难重重。除了使用Github提供的Action外,目前最佳的方式实际上依旧是在不同系统的物理机上使用相同的rust代码进行编译。
2024-09-02 22:55:03 789 1
原创 第十九章 rust服务器开发:axum框架详解
因为rust拥有着极高的性能,加上tokio这个非常优秀的运行时,这使得rust很适合被用于开发服务器。目前rust已经拥有了众多的web框架,例如rocket、axum、axtix-web、tide、warp等等。而axum这个web框架是由tokio团队所维护的,相对来说,可能在某些方面更加专业,所以本文也将以axum框架来介绍rust的web框架开发。也就是链式调用,get方法的返回值可以继续调用其上的post方法,传入post方法的处理函数。
2024-09-02 22:53:32 1461
原创 第十八章 rust字符串String详解
rust中的String是一个非常常用的crateString与所有权本文的目的是详细、全面的介绍String的基本用法,毕竟它实在是太过常用了,自带了大量的方法。
2024-09-01 17:24:11 624
原创 第十七章 rust异步库tokio入门
异步是一个非常强大特性,它有相当多的实现模型,其中比较知名的“协程”,go语言的并发编程就是借助的“协程”这一概念达到了非常高的性能,协程与线程。在这众多实现模型中,最基本就是多线程模型了,由于其是系统本身底层提供的,所以写起来、理解起来都会较为简单。windows编程入门。除了上面三个之外,另一个常用的异步模型便是。它的主要麻烦之处在于其底层实现非常复杂,但好在这并不需要我们自己去实现。直接使用即可。第二个麻烦之处在于其不好理解,这便是本章要做的事情了。由于rust语言本身提供了await。
2024-09-01 17:23:10 765
原创 第十六章 rust命令行工具开发实践
rust语言目前应用最广的方向之一就是命令行了,因为rust语言代码简练、内存安全、效率很高,用来开发命令行工具是非常合适的。目前已经有相当多的命令行工具都在采用rust重写了。
2024-08-31 13:17:47 638 2
原创 第十五章 rust中进行windows系统开发
作为系统级语言,rust可以很容易的和C++一样进行系统级编程,但实际操作后我相信你会遇到相当多的问题。比如以本文要介绍的windows系统编程为例,由于windows系统底层使用的C/C++语言,导致其大量api的参数都是指针,而rust作为一门安全性极高的语言,对于指针的操作会有极大的限制。其次就是字符串的问题,windows系统大量api都使用的宽窄字符集,而rust默认使用的是UTF-8编码,这之间就涉及编码转换的问题。编码。
2024-08-31 13:15:43 676 1
原创 第十四章 rust集合库介绍
基本的数据结构各种语言都会有自己的实现,rust也不例外。在rust中,这些数据结构的实现被称作“集合”,被放置在了中。内容并不算多,只有4个而已,个人认为Vec也应该算它的一部分,可能是因为其太过于常用,所以直接将其放在了全局,而没有放在该空间内。
2024-08-30 20:56:00 1222
原创 第十三章 rust日志库使用介绍
日志对于开发大型应用来说是非常重要的组成部分,因为它可以帮助开发者定位错误。毕竟大部分应用开发出来都是给其它用户使用的,一旦应用在用户电脑上触发了某个bug导致崩溃,你很难直接看出来bug的位置,这个时候就是日志发挥作用的时候了。
2024-08-30 20:54:52 1234
原创 第十二章 rust中的项目管理
前面我们已经使用了很多别人写的包,而本文就将详细介绍我们如何去写一个属于自己的包。包的作用相信大家已经有所领悟:可以共享常用代码,避免大家造轮子。在rust中,包的别名是crate,而crate则是rust编译的最小代码单位,比如我们前面写的main.rs中的代码,最终会被编译为一个二进制可执行文件。main.rs文件中的代码此时就属于我们自定义项目的一个源代码文件。这么说起来,其实它这里这个包的概念与vs中解决方案的概念很类似,而crate就像是vs中的各个项目。
2024-08-29 08:11:47 1047
阿里云盘无法分享压缩包解决方案
2023-06-29
Qt实现天气预报项目(资源文件)
2022-08-17
基于VC++的目录监视器
2022-05-27
C/C++实现聊天室(简洁版)
2022-03-26
C++实现U盘小偷程序(windows)
2022-03-10
C++推箱子源码(使用ege图形库,vs2019可直接打开运行)
2022-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人