自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(165)
  • 收藏
  • 关注

原创 C语言-头文件

由于自定义的头文件一般放在源码文件的周围,因此需要在编译的时候通过特定的选项来指定位置,而系统头文件都统一放在标准路径下,一般无需指定位置。由于头文件包含指令 #include 的本质是复制粘贴,并且一个头文件中可以嵌套包含其他头文件,因此很容易出现一种情况是:头文件被重复包含。.c),当某些公共资源需要在各个源码文件中使用时,为了避免多次编写相同的代码,一般的做法是将这些大家都需要用到的公共资源放入头文件(其中,/home/gec/pro/inc 是自定义头文件 head.h 所在的路径。

2024-07-08 16:58:35 371

原创 C语言-条件编译

选择代码片段:在一些大型项目中(例如 Linux 内核),某个相同功能的模块往往有不同的实现,需要用户根据具体的情况来“配置”,这个所谓的配置的过程,就是对代码中不同的宏的选择的过程。以上语句中,-D意味着 Define,MACRO 是程序中用来控制调试语句的一个宏,如此一来就可以在完全不需要修改源代码的情况下,通过外部编译指令选项非常方便地控制调试信息的启停。控制调试语句:在程序中,用条件编译将调试语句包裹起来,通过gcc编译选项随意控制调试代码的启停状态。

2024-07-08 16:47:18 246

原创 我的创作纪念日

首先是粉丝的关注,目前我的粉丝已经超过700人,他们对我的文章表现出了极大的兴趣和支持。在实际项目中,我遇到了许多技术难题,通过不断的尝试和解决问题,积累了大量的经验和知识。在创作上,我希望能够写出更多有深度、有价值的文章,帮助更多的人解决技术难题,并持续不断地提高自己的写作水平和影响力。每次学习到新的技术或解决了一个难题,我都会记录下来,通过文章进行技术交流,既能帮助别人,也能巩固自己的知识。我也期待通过创作,能够获得更多的正向反馈和认可,与更多的技术大咖交流合作,共同进步。

2024-07-05 11:21:54 179

原创 Objective-C 中常见的数据类型

通用对象指针类型,可以指向任何 Objective-C 对象。:表示可变字符串,可以动态修改字符串内容。:表示方法选择器类型,用于表示方法的名称。:表示可变数组,可以动态添加、删除元素。:表示类对象指针类型,用于表示类的类型。:表示不可变数组,包含一组有序的对象。:表示可变字典,可以动态修改字典内容。:表示不可变字典,包含一组键值对。:表示逻辑类型,取值为。:表示单精度浮点数。:表示双精度浮点数。:表示不可变字符串。

2024-05-08 17:44:25 673

原创 Objective-C 中的NSString

NSString 是 Objective-C 中表示字符串的类,它提供了丰富的方法来创建、操作和处理字符串。尽管 NSString 是不可变的,但是通过一些方法可以实现对字符串的各种操作,包括拼接、截取、替换等。在实际开发中,NSString 是一个非常常用的类,可以用来处理各种文本数据。

2024-05-04 00:15:00 229

原创 Objective-C 的编译、连接和执行过程

通过本文,我们了解了如何编写简单的 Objective-C 源代码,并通过编译器将其编译为可执行文件的过程。这对于理解 Objective-C 程序的构建过程以及调试程序时可能出现的问题都是非常有帮助的。

2024-05-03 00:45:00 247

原创 Objective-C中的NSLog函数

NSLog是Foundation框架提供的一个函数,用于向控制台输出调试信息。总的来说,NSLog是Objective-C开发中不可或缺的一个调试工具。通过合理地使用NSLog,我们可以更轻松地排查和解决代码中的问题,提高开发效率。希望本文能帮助你更好地理解和使用NSLog函数!

2024-05-03 00:15:00 958

原创 C语言中的#include和objc中的#import有什么区别

#include` 和 `#import` 都是用于包含头文件的指令。

2024-05-02 00:15:00 176

原创 Foundation框架

Foundation框架是Objective-C语言的核心框架之一,它提供了许多基本的类和功能,用于处理字符串、集合、日期、文件操作等常见任务,同时也包含了与操作系统交互的基本功能。这些只是Foundation框架中的一部分常用类和功能,还有许多其他类和功能,如操作队列、线程、归档和解档等。用于处理日期和时间的类。NSArray是不可变数组,而NSMutableArray是可变数组,可以动态添加、删除和修改其中的元素。它提供了创建、复制、移动、删除文件等操作,以及获取文件属性和路径信息的方法。

2024-05-02 00:15:00 345

原创 C语言-宏定义3.0

这篇文章讨论了在C语言中如何使用预处理器宏来进行符号粘贴。作者首先介绍了宏定义的基本结构,然后提供了一个示例,展示了如何使用`##`操作符来将参数连接到预定义的标识符中,从而形成一个新的标识符。接着,作者提醒了读者在书写非字符串的字串时要注意使用两边双井号来粘贴字串,并注意处理字串出现在末尾和非末尾的情况。最后,作者总结了在使用`#`和`##`操作符时的注意事项,并提供了示例代码以说明其用法。

2024-05-01 01:00:00 112

原创 C语言-宏定义2.0

这篇文章介绍了C语言中的宏的两种类型:无参宏和带参宏。无参宏在预处理阶段直接进行文本替换,而带参宏类似于函数,可以携带参数进行替换。然而,宏的替换仅仅是简单的文本替换,不进行语法检查或数值运算,可能导致一些副作用。为了避免这种副作用,应该在宏定义中使用括号括起参数和整个表达式。最后,文章总结了带参宏的特点和注意事项。

2024-05-01 00:30:00 187

原创 C语言-宏定义

这段文本详细介绍了C语言中的预处理部分,包括预处理的概念、预处理指令的种类和基本语法。其中,重点讨论了常见的预处理指令如#include、#define、条件编译等,并提供了一个示例命令来演示如何使用GCC编译器进行预处理操作。此外,文章还介绍了宏的概念和作用,以及在代码中的使用方法和好处。

2024-04-30 00:30:00 586

原创 Swift 中的数组(Array)

这篇文章深入探讨了 Swift 中的数组(Array)数据结构。首先介绍了数组的基本概念,强调了数组是一种有序的集合,可以存储相同类型的元素。接着,列举了创建数组的多种方式,包括通过字面量和数组构造函数。然后,说明了如何访问和修改数组元素,以及常用的数组操作方法,如添加、删除、遍历和过滤等。通过这些方法,读者可以更加灵活地处理数组,并编写出高效、清晰的代码。文章以简洁明了的语言和示例,帮助读者全面了解和掌握 Swift 中数组的使用。

2024-04-30 00:15:00 277

原创 Objective-C学习计划

持续学习,跟进Objective-C的最新发展和技术。了解Objective-C的基本语法和编程概念。掌握Objective-C的高级特性和常用框架。应用所学知识,完成实际项目。

2024-04-29 09:48:51 3456 1

原创 Swift 中 switch的使用

这篇文章介绍了在 Swift 编程语言中 Switch 语句的基本语法和一些高级用法。首先,它解释了 Switch 语句的基本结构,包括待匹配的值和各种分支情况。然后,通过简单示例展示了如何根据不同的值执行相应的代码块。接着,介绍了 Switch 语句的高级用法,包括区间匹配和元组匹配。这些高级用法可以帮助开发者编写更加简洁、灵活的代码。文章最后指出,Switch 语句是 Swift 中非常强大的控制流工具,合理地运用它将提高代码的可读性和开发效率。

2024-04-29 00:15:00 249

原创 Swift 中的 Range 运算符

在 Swift 中,Range 运算符是一种强大的工具,用于表示一系列连续的数值或字符。Range 可以用于循环、数组切片、条件语句等场景,为我们提供了方便的方法来处理数据集合。

2024-04-28 00:15:00 273

原创 Swift中Range对象的属性和方法

通过使用这些属性和方法,我们可以对范围进行各种查询和操作,以满足我们在实际开发中的需求。范围类型提供了丰富的功能,帮助我们更轻松地处理和操作数据范围。

2024-04-28 00:15:00 200

原创 Swift 中的条件语句:if 和 else

在 Swift 编程语言中,条件语句 `if` 和 `else` 是控制程序流程的重要工具。它们允许我们根据不同的条件执行不同的代码块,从而实现更灵活的程序逻辑。

2024-04-27 00:15:00 372

原创 Swift中的对象类型

在Swift中,对象类型可以分为类、结构体、枚举、协议、函数类型和元组。

2024-04-26 09:04:32 444

原创 Swift字符串

在 Swift 中,`Character` 和 `String` 是用于处理文本数据的两个重要类型

2024-04-26 08:30:00 390 2

原创 Swift 中如何四舍五入

在 Swift 中,你可以使用不同的方法来进行四舍五入操作,具体取决于你的需求和场景。

2024-04-25 17:32:16 1267 1

原创 如何看待AIGC技术?

同时,随着对人工智能的认识和理解的不断深入,AIGC 技术也将更加注重用户隐私和数据安全,保障个人信息的安全和合法使用。首先,需要建立健全的法律法规和伦理准则,规范 AIGC 技术的开发和应用,保障公平竞争和用户权益。其次,需要加强技术研究和安全防范,提高 AIGC 技术的稳定性和可靠性,减少技术和安全风险的发生。在医疗领域,智能诊断系统将更加精准和可靠,提高医疗服务的水平和质量。综上所述,AIGC 技术在未来的发展和应用将对个人和社会产生重大影响,需要我们认真思考和积极应对,促进其健康发展和可持续性。

2024-04-25 15:34:18 393 1

原创 C语言-联合体的使用

枚举类型的本质是提供一种范围受限的整型,比如用0-6表示七种颜色,用0-3表示四种状态等,但枚举在C语言中并未实现其本来应有的效果,直到C++环境下枚举才拥有原本该有的属性。枚举数据最重要的作用,是使用有意义的单词,来替代无意义的数字,提高程序的可读性。联合体一般很少单独使用,而经常以结构体的成员形式存在,用来表达某种互斥的属性。

2024-04-25 08:51:41 153

原创 C语言-联合体操作

联合体的操作跟结构体形式上别无二致,但由于联合体特殊的存储特性,不管怎么初始化和赋值,最终都有且。仅有一个成员是有效的。

2024-04-25 08:45:34 226

原创 C语言-联合体基本概念

联合体的外在形式跟结构体非常类似,但它们有一个本质的区别:结构体中的各个成员是各自独立的,而联合体中的各个成员却。,因此联合体也称为共用体。

2024-04-24 17:23:43 207

原创 C语言-结构体尺寸

字长的概念指的是处理器在一条指令中的数据处理能力,当然这个能力还需要搭配操作系统的设定,比如常见的32位系统、64位系统,指的是在此系统环境下,处理器一次存储处理的数据可以达32位或64位。从图中可以明显看出,数据本身占据了8个字节,在地址未对齐的情况下,CPU需要分3次才能完整地存取完这个数据,但是在地址对齐的情况下,CPU可以分2次就能完整地存取这个数据。以32位系统为例,由于CPU存取数据总是以4字节为单元,因此对于一个尺寸固定的数据而言,当它的地址满足某个数的整数倍时,就可以保证地址对齐。

2024-04-24 17:03:00 885

原创 C语言-结构体基本概念2.0

结构体是一种集合,内部包含了多个独立的成员,每个成员都可以被单独引用。通过成员引用符 `.` 可以简单地访问结构体的各个成员。结构体数组的使用方式与普通数组类似,可以通过索引访问数组中的每个结构体元素,再通过成员引用符 `.` 访问各个成员的值。结构体指针和结构体数组的定义与普通变量的指针和数组类似,能够更灵活地处理结构体对象。

2024-04-23 11:49:23 156

原创 C语言-结构体基本概念

struct 结构体标签成员1;成员2;// ...- 结构体标签用于区分不同的结构体。- 成员是结构体内部包含的数据,可以是任意的数据类型。

2024-04-23 11:13:51 718

原创 Swift:“逻辑运算子“与“比较运算符“

是用于对布尔值取反的。当操作数为 `true` 时,`!` 将返回 `false`,而当操作数为 `false` 时,`!` 将返回 `true`。逻辑或运算符 `||` 在两个操作数中至少有一个为 `true` 时返回 `true`,否则返回 `false`。逻辑与运算符 `&&` 在两个操作数都为 `true` 时返回 `true`,否则返回 `false`。在Swift中,比较运算符用于比较两个值的大小关系。常见的比较运算符包括等于。

2024-03-29 17:34:39 391 1

原创 Swift:.ignoresSafeArea():自由布局的全方位掌握

SwiftUI布局系统会调整视图的尺寸和位置,以避免特定的安全区域。这就确保了系统内容(比如软件键盘)或设备边缘不会遮挡您的视图。要将您的内容扩展到这些区域,您可以通过应用该修改器来忽略特定边缘上的安全区域。ignoresSafeArea(_ regions : edges:)修饰符的说明。这里是指定忽略底部边界,视图可以延伸到底部安全区域之外。

2024-03-15 20:31:04 1038

原创 C语言-存储期

在栈内存中分配的变量,统统拥有自动存储期,因此也都被称为自动变量。这里自动的含义,指的是这些变量的内存管理不需要开发者操心,都是全自动的:在变量定义处自动分配,出了变量的作用域后自动释放。C语言中,变量都是有一定的生存周期的,所谓生存周期指的是从分配到释放的时间间隔。为变量分配内存相当于变量的诞生,释放其内存相当于变量的死亡。从诞生到死亡就是一个变量的生命周期。

2024-03-15 19:48:41 224

原创 C语言-存储期2.0

在数据段中分配的变量,统统拥有静态存储期,因此也都被称为静态变量。这里静态的含义,指的是这些变量的不会因为程序的运行而发生临时性的分配和释放,它们的生命周期是恒定的,跟整个程序一致。在堆中分配的变量,统统拥有自定义存储期,也就是说这些变量的分配和释放,都是由开发者自己决定的。由于堆内存拥有高度自治权,因此堆是程序开发中用得最多的一片区域。

2024-03-15 19:48:25 214

原创 C语言内存管理-堆内存

堆内存(heap)又被称为动态内存、自由内存,简称堆。堆是唯一可被开发者自定义的区段,开发者可以根据需要申请内存的大小、决定使用的时间长短等。但又由于这是一块系统“飞地”,所有的细节均由开发者自己把握,系统不对此做任何干预,给予开发者绝对的“自由”,但也正因如此,对开发者的内存管理提出了很高的要求。对堆内存的合理使用,几乎是软件开发中的一个永恒的话题。

2024-03-11 10:06:05 332

原创 C语言内存管理-数据段与代码段

【代码】C语言内存管理-数据段与代码段。

2024-03-11 09:58:21 141

原创 C语言内存管理-静态数据

【代码】C语言内存管理-静态数据。

2024-02-29 17:10:16 221

原创 Swift的基本数据类型

以上是Swift中一些常见的数据类型及其示例代码。通过理解和灵活运用这些数据类型,你可以更好地处理不同类型的数据,并编写出高效可靠的代码。6. Dictionary类型:用于表示无序的键值对集合,其中每个元素都有一个唯一的键和对应的值。5. Array类型:用于表示有序列表,可以包含相同或不同类型的元素。8. Tuple类型:用于创建包含多个不同类型的值的复合数据类型。7. Set类型:用于表示无序且唯一的值的集合。

2024-02-29 11:41:49 744

原创 C语言内存管理-栈内存

【代码】C语言内存管理-栈内存。

2024-02-26 13:11:05 157

原创 C语言内存管理-C进程内存布局

每个C语言进程都拥有一片结构相同的虚拟内存,所谓的虚拟内存,就是从实际物理内存映射出来的地址规范范围,最重要的特征是所有的虚拟内存布局都是相同的,极大地方便内核管理不同的进程。虚拟内存中,内核区段对于应用程序而言是禁闭的,它们用于存放操作系统的关键性代码,另外由于 Linux 系统的历史性原因,在虚拟内存的最底端 0x0 ~ 0x08048000 之间也有一段禁闭的区段,该区段也是不可访问的。这些不同的内容,所存储的内存区域是不同的,且不同的区域有不同的特性。

2024-02-26 13:08:21 401

原创 C语言作用域2.0

如果有多个不同的作用域相互嵌套,那么小范围的作用域会临时 “遮蔽” 大范围的作用域中的同名标识符,被 “遮蔽” 的标识符不会消失,只是临时失去可见性。C语言的一大特色,是相同的关键字,在不同的场合下,具有不同的含义。

2024-02-23 18:53:50 336

原创 C语言作用域

软件开发中,尽量缩小标识符的作用域是一项基本原则,一个标识符的作用域超过它实际所需要的范围时,就会对整个软件的命名空间造成污染,导致一些不必要的名字冲突和误解。C语言中,标识符都有一定的可见范围,这些可见范围保证了标识符只能在一个有限的区域内使用,这个可见范围,被称为作用域(scope)。

2024-02-23 18:47:37 361

水果图片素材PNG:fruits.zip

水果图片素材PNG

2024-01-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除