一.物联网学习之C语言学习
文章平均质量分 76
C语言学习
m0_61659911
这个作者很懒,什么都没留下…
展开
-
13.物联网之C语言的内存管理,Gcc编译流程与方法
但有时候出于对程序代码优化的考虑,希望只对其中一部分内容进行编译,此时就需要在程序中加上条件,让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就是条件编译(conditional compile)(7)-L dirname,将dirname所指出的目录加入到程序函数档案库文件的目录列表中,是在链接过程中使用的参数。代码区: 存放函数体的二进制代码,由操作系统进行管理(cpu执行的机器指令,共享只读)有-L的是指定库文件路径,在使用自己写的库文件时使用。原创 2023-04-10 09:59:10 · 124 阅读 · 0 评论 -
10.物联网学习之字符串
连接后,串1的’\0’取消,新串最后加‘\0’(所以注意字符串a[5]={‘H’,’e’,’l’,’l’,’0’}没有’\0’问题)char a[5]={‘H’,’e’,’l’,’l’,’0’,’\0’};(4)字符串比较函数strcmp(字符串1,字符串2)strncpy(p, p1, n) 复制指定长度字符串。strncat(p, p1, n) 附加指定长度字符串。strncmp(p, p1, n) 比较指定长度字符串。原创 2023-04-03 10:43:34 · 177 阅读 · 0 评论 -
14.物联网学习之linux系统下的GDB调试
(1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序(按着自己的想法运行)。./a.out //报错segmentation fault(core dumped)Gcc -g main.c //-g调试工具(GNU的gdb)所必要的符号资讯。(2)可让被调试的程序在你所指定的调置的断点处停住。Gdb a.out -p 4849 //-p是运行调试必备东西。b 10/(b main) //给指定位置设置断点。gdb a.out core //显示断错误。gdb a.out //进入调试中。原创 2023-04-10 10:03:46 · 221 阅读 · 0 评论 -
11.物联网学习之C语言指针,数组指针,指针数组,函数指针,指针函数
2.(区)和在本质上不同,指针变量是地址变量,而数组的指针是地址常量,而地址常量不能修改,因为在静态储存区,所以数组的指针char* p=“Hello World”;------------错误--const char*不能初始化char*----------------------------------------------------------(2)a与p不是同型地址,即(pinrtf("%p"),a+1);原创 2023-04-07 10:07:10 · 92 阅读 · 0 评论 -
12.物联网学习之结构体
在我看来,内存对齐就是为了一次可以读完所需的内存.在32位系统中,操作系统每次读的地址为4的整数倍,那么int类型放在0x02到0x06之间时,访问这个整数需要访问两次内存.Nu2的大小为7,原因:最后对齐是按照有效位对齐,char为1字节,char[7]为7字节,7字节即可整除,不需要对齐。原因:字节对齐主要是针对结构体而言的,通常编译器会自动对其成员变量进行对齐,以提高数据存取的效率;Nu1的大小为8,原因:int8字节,char[7]7字节,共8字节。//等价struct student 学生;原创 2023-04-08 11:21:31 · 131 阅读 · 0 评论 -
15.物联网学习之makefile
CFLAGS = -c -g -Wall -I /home/linux/Makefile/include/<绝对目录>(1)当我们修改文件时,make之后会全部编译,主要是我们没有把命令分开写,导致会把所有命令重新运行一遍,降低效率.OBJ = $(patsubst %.c, %.o<前两个参数意义.c文件替换成.o文件>, $(SRC))make -w //显示执行的目录地址,如/home/linux/include。$(CC) $^ -o $@ 运行obj文件下.o生成test文件。原创 2023-04-11 20:06:45 · 52 阅读 · 0 评论 -
9.物联网学习之输入输出总结
print替换为printf(“%0f,%08f,%08.1f,%.02f\n”,f,f,f,f);int a=567;//第三个八位并保留一位小数 000123.5(0为空格,展示八位,点算一位,之后补全8个)printf ( “%d”,a);原创 2023-03-27 23:11:50 · 477 阅读 · 0 评论 -
7-8物联网学习之C语言运算符优先级
x += y==z, y=x+2, z=x+y+x >0//x为2,y为4 ,z为1。逗号运算符 z = (z=8, x=5, y=3);sizeof运算符 sizeof(int)为4字节。赋值运算符 a=a+10;位运算符 ~,&,|,^异或,>>,,=,==,!例如:通过查优先级表得结果。算术运算符 +-*/%从左运行到右,最右边的赋值给z,即3。原创 2023-03-27 18:40:05 · 107 阅读 · 0 评论 -
3.4.5.6物联网学习之linux运行C,数据类型,常量,变量,auto,external,static
linux运行C语言程序原创 2023-03-24 21:08:39 · 121 阅读 · 0 评论 -
2.物联网学习之Vi编译器的使用
Vi编译器命令使用原创 2023-03-24 20:20:45 · 293 阅读 · 0 评论 -
1.物联网学习之linux文件目录与相关命令
linux文件目录与相关命令原创 2023-03-23 23:37:16 · 193 阅读 · 0 评论