一:函数参数的传递原理: 函数参数以数据结构——栈,的形式存取,从右到左入栈。因此,我们只要知道了任意一个变量的地址,并且知道其他变量的类型,通过指针移位运算,就可以顺藤摸瓜,找到其他输入变量。 二:头文件<stdarg.h>中几个重要的宏定义如下: typedef char * va_list; ...
分类:
其他好文 时间:
2020-01-13 19:34:11
阅读次数:
95
全局变量的定义是会得到内存分配且可以被其他模块通过C语言中extern关键字调用的变量。所以,必须在 .C 或 .H 文件中定义,此种方法很容易导致错误。 以下为UCOSIII中定义全局变量的方法: 部分源码(Os.h文件中): #ifdef OS_GLOBALS #define OS_EXT #e ...
分类:
其他好文 时间:
2020-01-12 19:55:28
阅读次数:
328
gcc -dM -E - < /dev/null 注释: -E选项指示 GCC 在预处理完毕之后即可停止 -dM 不做实际的预处理,仅仅列出所有#define的宏,这些宏大部分与体系结构和GNU相关,或来自所包含的头文件。 #程序输出太长,这里就不列出了 $gcc -E -dM hello.c 另外 ...
分类:
其他好文 时间:
2020-01-11 22:28:01
阅读次数:
121
使用 C 语言标准库 <stdio.h> 中的 FILE 指针指向原文件和目标文件,然后调用函数 fgetc/fputc 或 fread/fwrite 实现从原文件到目标文件的字节复制。 采用 fgetc/fputc 函数进行文件复制的的核心代码 注:1)EOF宏,表示文件尾(End Of File ...
分类:
编程语言 时间:
2020-01-11 20:16:12
阅读次数:
95
在通过free()函数释放指针内存之后讲其指针置空,这样可以避免后面的程序对与该指针非法性的判断所造成的程序崩溃问题。释放空间,指针的值并没有改变,无法直接通过指针自身来进行判断空间是否已经被释放,将指针置空有助于判断一个指针所指向的空间已经被释放。 内存泄露: 例如:int *p = (int * ...
分类:
其他好文 时间:
2020-01-11 16:49:06
阅读次数:
87
在今天,李彦宏登上了新一期《年代周刊》亚洲版封面。这也是我国互联网公司企业家初度在《年代周刊》上封。 “The Innovator (立异者)”,《年代周刊》如此称谓李彦宏。? 在文章里是这样描绘李彦宏和百度的:在2000年,李彦宏成立了百度,现在它已是仅次于谷歌的第二大查找引擎;百度20%的商场坐 ...
分类:
其他好文 时间:
2020-01-10 23:56:41
阅读次数:
199
什么是结构体内存对齐?为什么要对齐?怎样对齐? 结构体内存对齐:元素是按照定义顺序一个一个放到内存中去的,但并不是紧密排列的。 从结构体存储的首地址开始,每个元素放置到内存中时,它都会认为内存是按照自己的大小来划分的,因此元素放置的位置一定会在自己宽度的整数倍上开始。 struct T{ int a ...
分类:
其他好文 时间:
2020-01-10 15:29:47
阅读次数:
98
宏编译 预处理头 ,经常可以在stdafx.h文件中出现宏定义 define WIN32_LEAN_AND_MEAN, 具体含义就是当项目中包含 include时去除一些头文件的包含。一个重要的演示 例子就是winsock2.h和windows.h之间有关于_WINSOCKAPI_的重复定义,如果定 ...
采用GMC/umat进行缠绕复合材料力学性能分析,将一些细节分享如下: 1.纤维缠绕复合材料内部交叉及波动分布受缠绕角度、缠绕线形的影响而不同,任意一种纤维缠绕结构其都存在层合区域、螺旋波动区域和环向波动区域,如下图所示。 2.采用六面体划分网格并针对不同区域赋予局部材料坐标系,如下图所示: 3.基 ...
分类:
其他好文 时间:
2020-01-09 22:35:33
阅读次数:
102
今天偶然间看到这个头文件inttypes,好奇有什么用,去找度娘玩了一波,发现这头文件挺有意思的。 这个头文件适配于C99标准,它提供整数输入的各种进制转换的宏,这是在Ubuntu上扣下来的代码(windows里我没找到放在哪)嗯~ o(* ̄▽ ̄*)o我拿VScode找到了……所以划掉 不完整的 U ...
分类:
编程语言 时间:
2020-01-09 14:43:58
阅读次数:
201