
C语言
文章平均质量分 50
一些C语言的知识。
Yang_Winston
这个作者很懒,什么都没留下…
展开
-
Microsoft Visual C++编译环境
PE文件是Windows操作系统上可执行文件的标准格式,包括.exe、.dll 和 .lib 文件等。静态库是一种包含多个目标文件(.obj 文件)的集合,这些目标文件可以被链接到一个或多个可执行文件中。link.exe 是Microsoft的链接器,它负责将多个对象文件连接成最终的可执行文件(.exe)、动态链接库(.dll)或静态库(.lib)。ml.exe 是一个汇编器,用于将汇编语言源代码(.asm 文件)编译成目标文件(.obj 文件)。这对于调试和诊断PE文件的问题非常有用。原创 2024-10-16 14:53:00 · 470 阅读 · 0 评论 -
C语言实现KMP算法
C语言实现KMP算法。原创 2023-02-20 14:37:34 · 126 阅读 · 0 评论 -
结构体类型指针的强制转换
结构体类型指针的强制转换。原创 2023-02-15 14:12:42 · 714 阅读 · 0 评论 -
C语言方式 获取CPUID(二)
嵌入式汇编获取CPUID。原创 2022-09-15 12:28:18 · 1393 阅读 · 0 评论 -
数组与指针的区别与联系
1 引言数组并非指针,在初学C语言时,我们会觉得”数组和指针是相同的“,实际上,这是一种非常危险的说法,并不完全正确。下面完整地解释一下数组什么时候等同于指针,什么时候又不等同于指针以及原因所在。//文件1int mango[10];//文件2extern int *mango;上面程序演示了一个错误,文件1定义了数组mango,文件2想使用它,声明它为指针。但实际上它们的类型并不匹配,相当于把整数和浮点数混为一谈。但是为什么人们会认为指针和数组始终是应该可以互换的呢?答案是对数组的引用总原创 2022-03-19 17:58:26 · 9226 阅读 · 1 评论 -
i++与++i操作符区别
对于前缀++操作符和后缀++操作符的区别一直没搞很明白,因为他们有时候用起来感觉没区别,比如在for循环中:for(int i=0; i<10; i++){}for(int i=0; i<10; ++i){}而在另一些表达式上会产生不同的结果:int i=0,j=0;int a=i++;int b=++j;这里i与j最后的值都是1,但a的值为0,b的值为1。在网上搜索一些文章时,大部分是这样解释的。i++:i++是先赋值再自增++i:++i是先自增后赋值简单原创 2022-03-16 22:57:08 · 792 阅读 · 0 评论 -
extern关键字作用
语法extern放在变量和函数声明之前,表示该变量或者函数在别的文件中已经定义,提示编译器在编译时要从别的文件中寻找。除此之外,extern还可以用来进行链接指定。作用声明外部变量在声明全局变量时,不同的文件在编译器编译时是不透明的,比如在A.c中定义int i,同时在B.c中定义int i,编译器编译时是不会报错的,但是当链接linking时会报错重复定义。当需要使用同一全局变量时,如:在A.c中定义了int i,在B.c中需要调用i,只需要在B.c中声明extern int i,表示该变量在别转载 2021-08-20 10:26:49 · 3985 阅读 · 0 评论 -
#pragma用法详解
概述我们在写代码时,总会遇到头文件多次包含的情况,刚开始时我们使用宏定义进行控制,之后发现有#pragma once这样简单的东西,当时是很兴奋,以为#pragma就这一种用法。1、什么是预处理预处理是将源文件的文本作为翻译的第一阶段操作的文本处理步骤。 预处理不会分析源文本,但会为了查找宏调用而将源文本细分为标记。 主要包括了下面三个方面:预处理指令预处理运算符预定义宏,这个有很多了,比如__FILE__、__LINE__和__DATA__等。其中预处理指令包括:预处理运算符包括:这里有转载 2022-02-12 18:15:09 · 22038 阅读 · 2 评论 -
#define IN与#define OUT
最近在看代码的时候,发现很多变量或者函数前面都有IN或OUT“修饰”,这也不是一个类型,找到定义的地方,发现是这样定义的:#define IN乍一看不知其意,与常见的宏定义不一样,它第二个值是空的。有一种说法或许能够解释,在此记录一下。这个是一种编程规范比如#define IN#define OUT定义一个函数int fun(IN char *param,OUT *char result)表示第一个参数是传入参数,第二个参数是回调结果,因为IN OUT本身就是个空,所以不影响编译,只是为了代码规原创 2021-06-09 10:43:32 · 2017 阅读 · 1 评论